{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"2随机森林.ipynb","version":"0.3.2","provenance":[],"collapsed_sections":["m05Rylh7AMEf"]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"metadata":{"id":"5p25ES29CVBR","colab_type":"text"},"cell_type":"markdown","source":["# 分类树"]},{"metadata":{"id":"pJSH4Co_CW2g","colab_type":"code","colab":{}},"cell_type":"code","source":["%matplotlib inline  \n","#帮助画图\n","from sklearn.tree import DecisionTreeClassifier\n","from sklearn.ensemble import RandomForestClassifier\n","from sklearn.datasets import load_wine"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Km5pTi8LCdRC","colab_type":"code","colab":{}},"cell_type":"code","source":["wine = load_wine()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Jt3W3zOQCgP1","colab_type":"code","colab":{}},"cell_type":"code","source":["from sklearn.model_selection import train_test_split\n","Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"L55bKbpjNbSW","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":89},"outputId":"bcd47e87-cb4f-4d01-cc92-7d77422bf576","executionInfo":{"status":"ok","timestamp":1546225447905,"user_tz":-480,"elapsed":755,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["clf = DecisionTreeClassifier(random_state=0)\n","rfc = RandomForestClassifier(random_state=0)\n","\n","clf = clf.fit(Xtrain,Ytrain)\n","rfc = rfc.fit(Xtrain,Ytrain)\n","\n","score_c = clf.score(Xtest,Ytest)\n","score_r = rfc.score(Xtest,Ytest)\n","\n","print(\"Single Tree:{}\".format(score_c)\n","        ,\"Random Forest:{}\".format(score_r)\n","        )"],"execution_count":5,"outputs":[{"output_type":"stream","text":["Single Tree:0.9259259259259259 Random Forest:0.9814814814814815\n"],"name":"stdout"},{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n","  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"],"name":"stderr"}]},{"metadata":{"id":"VNw8QPFTCl5Z","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":265},"outputId":"11576efa-0694-462d-f908-1d22c856d7d6","executionInfo":{"status":"ok","timestamp":1546225740063,"user_tz":-480,"elapsed":1197,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#复习一下交叉验证\n","#交叉验证：是数据集划分为n分，依次取每一份做测试集，每n-1份做训练集，多次训练模型以观测模型稳定性的方法\n","from sklearn.model_selection import cross_val_score\n","import matplotlib.pyplot as plt\n","\n","rfc = RandomForestClassifier(n_estimators=25)\n","rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10)\n","\n","clf = DecisionTreeClassifier()\n","clf_s = cross_val_score(clf,wine.data,wine.target,cv=10)\n","\n","plt.plot(range(1,11),rfc_s,label = \"RandomForest\")\n","plt.plot(range(1,11),clf_s,label = \"Decision Tree\")\n","plt.legend()\n","plt.show()"],"execution_count":6,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fd2898da0>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"ssoCGKeAC80z","colab_type":"text"},"cell_type":"markdown","source":["## 随机森林和决策树在十组交叉验证下的效果对比"]},{"metadata":{"id":"_M34OAQHC0xn","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":265},"outputId":"c29b3b30-9e41-4762-cc2b-ab4ce6a76709","executionInfo":{"status":"ok","timestamp":1546225814910,"user_tz":-480,"elapsed":3651,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc_l = []\n","clf_l = []\n","for i in range(10):\n","    rfc = RandomForestClassifier(n_estimators=25)\n","    rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10).mean()\n","    rfc_l.append(rfc_s)\n","    \n","    clf = DecisionTreeClassifier()\n","    clf_s = cross_val_score(clf,wine.data,wine.target,cv=10).mean()\n","    clf_l.append(clf_s)\n","plt.plot(range(1,11),rfc_l,label = \"Random Forest\")\n","plt.plot(range(1,11),clf_l,label = \"Decision Tree\")\n","plt.legend()\n","plt.show()"],"execution_count":7,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fb418ce80>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"yuDQPxGNDJUL","colab_type":"text"},"cell_type":"markdown","source":["## n_estimators的学习曲线"]},{"metadata":{"id":"Q43nzZqXC_JX","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":357},"outputId":"11ef7482-32a1-49a9-c04d-417fde250fa7","executionInfo":{"status":"ok","timestamp":1546226320517,"user_tz":-480,"elapsed":468609,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["superpa = []\n","for i in range(200):\n","    rfc = RandomForestClassifier(n_estimators=i+1,n_jobs=-1)\n","    rfc_s = cross_val_score(rfc,wine.data,wine.target,cv=10).mean()\n","    superpa.append(rfc_s)\n","print(max(superpa),superpa.index(max(superpa)))\n","plt.figure(figsize=[20,5])\n","plt.plot(range(1,201),superpa)\n","plt.show()"],"execution_count":8,"outputs":[{"output_type":"stream","text":["0.9888888888888889 45\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\nqQb9/2A/VL7tJtFWAAAAAElFTkSuQmCC\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fb46dab70>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"k7r79wnxDWRa","colab_type":"text"},"cell_type":"markdown","source":["##  random_state"]},{"metadata":{"id":"gePtKYeHkuJi","colab_type":"text"},"cell_type":"markdown","source":["随机森林的random_state生成的是固定的森林"]},{"metadata":{"id":"aWlhGuXwDOYP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"b9a47643-414e-44bc-d5c1-cc47c6c6e81d","executionInfo":{"status":"ok","timestamp":1546230967181,"user_tz":-480,"elapsed":710,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["import numpy as np\n","from scipy.special import comb\n","np.array([comb(25,i)*(0.2**i)*((1-0.2)**(25-i)) for i in range(13,26)]).sum()\n","# 25颗树，每棵树错误的概率为0.2，则25颗树判错的概率为多少？"],"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.00036904803455582827"]},"metadata":{"tags":[]},"execution_count":9}]},{"metadata":{"id":"8zTU1lnEjxs_","colab_type":"text"},"cell_type":"markdown","source":["为什么随机森林里的众多树会有不同的判断结果？"]},{"metadata":{"id":"vjdylLwvDbxL","colab_type":"code","colab":{}},"cell_type":"code","source":["rfc = RandomForestClassifier(n_estimators=25,random_state=2)\n","rfc = rfc.fit(Xtrain, Ytrain)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"LsIwgLy6kfa7","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"1bc81f25-6e11-4127-b2ba-082a2f2c0224","executionInfo":{"status":"ok","timestamp":1546231372733,"user_tz":-480,"elapsed":713,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["type(rfc.estimators_[0])"],"execution_count":13,"outputs":[{"output_type":"execute_result","data":{"text/plain":["sklearn.tree.tree.DecisionTreeClassifier"]},"metadata":{"tags":[]},"execution_count":13}]},{"metadata":{"id":"zs0_t-VTj5OP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"530188e1-3057-4577-c5fe-7c492f0d3349","executionInfo":{"status":"ok","timestamp":1546231260016,"user_tz":-480,"elapsed":732,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#随机森林的重要属性之一：estimators_，查看森林中树的状况\n","rfc.estimators_[0].random_state"],"execution_count":11,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1872583848"]},"metadata":{"tags":[]},"execution_count":11}]},{"metadata":{"id":"fl64c3RCkJG6","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":449},"outputId":"9eeba78b-72e7-433e-f3d8-c03f5efb0773","executionInfo":{"status":"ok","timestamp":1546231273415,"user_tz":-480,"elapsed":732,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["for i in range(len(rfc.estimators_)):\n","    print(rfc.estimators_[i].random_state)"],"execution_count":12,"outputs":[{"output_type":"stream","text":["1872583848\n","794921487\n","111352301\n","1853453896\n","213298710\n","1922988331\n","1869695442\n","2081981515\n","1805465960\n","1376693511\n","1418777250\n","663257521\n","878959199\n","854108747\n","512264917\n","515183663\n","1287007039\n","2083814687\n","1146014426\n","570104212\n","520265852\n","1366773364\n","125164325\n","786090663\n","578016451\n"],"name":"stdout"}]},{"metadata":{"id":"n_sfAoblDfkS","colab_type":"text"},"cell_type":"markdown","source":["## bootstrap & oob_score"]},{"metadata":{"id":"AAXZW4bklJjc","colab_type":"text"},"cell_type":"markdown","source":["袋装法正是通过有放回的随机抽样技术来形成不同的训练数据，bootstrap就是用来控制抽样技术的参数"]},{"metadata":{"id":"_caH5TFLlghD","colab_type":"text"},"cell_type":"markdown","source":["bootstrap参数默认True，代表采用这种有放回的随机抽样技术。通常，这个参数不会被我们设置为False"]},{"metadata":{"id":"Wpo0gM2bmkEq","colab_type":"text"},"cell_type":"markdown","source":["如果希望用袋外数据来测试，则需要在实例化时就将oob_score这个参数调整为True，训练完毕之后，我们可以用\n","随机森林的另一个重要属性：oob_score_来查看我们的在袋外数据上测试的结果"]},{"metadata":{"id":"jPRHSTSIDgfT","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"7e5e4447-4618-4b12-da0b-64f8afa5875f","executionInfo":{"status":"ok","timestamp":1546231897521,"user_tz":-480,"elapsed":753,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#无需划分训练集和测试集\n","rfc = RandomForestClassifier(n_estimators=25,oob_score=True)\n","rfc = rfc.fit(wine.data,wine.target)\n","#重要属性oob_score_\n","rfc.oob_score_"],"execution_count":14,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9662921348314607"]},"metadata":{"tags":[]},"execution_count":14}]},{"metadata":{"id":"jXnFsX8pDn8P","colab_type":"text"},"cell_type":"markdown","source":["## 重要属性和接口"]},{"metadata":{"id":"9op-stvfDo3J","colab_type":"code","colab":{}},"cell_type":"code","source":["#大家可以分别取尝试一下这些属性和接口\n","rfc = RandomForestClassifier(n_estimators=25)\n","rfc = rfc.fit(Xtrain, Ytrain)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"5Be9tPTTmqqP","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"5d3ae31e-5c9a-4676-87f8-1b40ef3ea08f","executionInfo":{"status":"ok","timestamp":1546231946181,"user_tz":-480,"elapsed":681,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.score(Xtest,Ytest)"],"execution_count":16,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9814814814814815"]},"metadata":{"tags":[]},"execution_count":16}]},{"metadata":{"id":"XNE6dk0XmrsL","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":69},"outputId":"3090d2a8-9cdd-4929-d674-9519ed656af8","executionInfo":{"status":"ok","timestamp":1546231950216,"user_tz":-480,"elapsed":629,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.feature_importances_"],"execution_count":17,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([0.21712325, 0.03608606, 0.01660669, 0.0075598 , 0.03351303,\n","       0.0483309 , 0.16230165, 0.05118297, 0.01606488, 0.14265971,\n","       0.049008  , 0.06073031, 0.15883276])"]},"metadata":{"tags":[]},"execution_count":17}]},{"metadata":{"id":"Ubgkr_4Smslf","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":138},"outputId":"b03c215e-6da8-4883-9de8-09acdf151999","executionInfo":{"status":"ok","timestamp":1546231955588,"user_tz":-480,"elapsed":668,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.apply(Xtest)"],"execution_count":18,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[17,  9,  5, ..., 17,  6,  3],\n","       [ 3, 13,  1, ..., 19, 15, 10],\n","       [ 3,  5,  1, ...,  4,  9,  6],\n","       ...,\n","       [ 3,  8,  1, ...,  4, 11,  8],\n","       [18, 14,  8, ..., 11, 15, 19],\n","       [ 3,  5,  1, ..., 19,  9,  6]])"]},"metadata":{"tags":[]},"execution_count":18}]},{"metadata":{"id":"pyG8aH86qgov","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"6bddab34-ba7d-49b7-8314-d4e53fa5292e","executionInfo":{"status":"ok","timestamp":1546232935308,"user_tz":-480,"elapsed":727,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.apply(Xtest).shape\n","# 返回每个样本在25颗树上所在叶子节点的索引"],"execution_count":21,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(54, 25)"]},"metadata":{"tags":[]},"execution_count":21}]},{"metadata":{"id":"g44fdjfrmtWw","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":69},"outputId":"6d5b94c6-4c84-439b-e467-96ed2e1c65f1","executionInfo":{"status":"ok","timestamp":1546231966499,"user_tz":-480,"elapsed":549,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.predict(Xtest)"],"execution_count":19,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 2, 1, 0, 2, 1, 0, 0,\n","       0, 2, 2, 0, 1, 2, 0, 1, 2, 2, 0, 0, 0, 2, 1, 1, 2, 2, 1, 2, 1, 1,\n","       2, 1, 2, 0, 1, 2, 2, 1, 0, 1])"]},"metadata":{"tags":[]},"execution_count":19}]},{"metadata":{"id":"xWDUrB7Pmuis","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":950},"outputId":"f1708f14-f46b-4a41-9d6b-82c4d4aaefef","executionInfo":{"status":"ok","timestamp":1546231970670,"user_tz":-480,"elapsed":702,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc.predict_proba(Xtest)"],"execution_count":20,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[0.  , 0.24, 0.76],\n","       [0.16, 0.84, 0.  ],\n","       [0.  , 1.  , 0.  ],\n","       [0.  , 0.36, 0.64],\n","       [0.  , 0.36, 0.64],\n","       [1.  , 0.  , 0.  ],\n","       [0.8 , 0.2 , 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [0.96, 0.04, 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [0.  , 0.32, 0.68],\n","       [0.12, 0.84, 0.04],\n","       [0.84, 0.16, 0.  ],\n","       [0.04, 0.96, 0.  ],\n","       [0.  , 0.16, 0.84],\n","       [0.  , 1.  , 0.  ],\n","       [0.8 , 0.12, 0.08],\n","       [0.  , 0.2 , 0.8 ],\n","       [0.12, 0.84, 0.04],\n","       [1.  , 0.  , 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [0.  , 0.28, 0.72],\n","       [0.  , 0.32, 0.68],\n","       [0.76, 0.24, 0.  ],\n","       [0.  , 1.  , 0.  ],\n","       [0.04, 0.04, 0.92],\n","       [0.84, 0.12, 0.04],\n","       [0.16, 0.64, 0.2 ],\n","       [0.  , 0.44, 0.56],\n","       [0.  , 0.04, 0.96],\n","       [1.  , 0.  , 0.  ],\n","       [0.88, 0.12, 0.  ],\n","       [1.  , 0.  , 0.  ],\n","       [0.04, 0.04, 0.92],\n","       [0.  , 1.  , 0.  ],\n","       [0.2 , 0.72, 0.08],\n","       [0.  , 0.16, 0.84],\n","       [0.08, 0.16, 0.76],\n","       [0.  , 0.92, 0.08],\n","       [0.  , 0.36, 0.64],\n","       [0.  , 1.  , 0.  ],\n","       [0.  , 0.92, 0.08],\n","       [0.12, 0.16, 0.72],\n","       [0.  , 1.  , 0.  ],\n","       [0.04, 0.32, 0.64],\n","       [0.96, 0.04, 0.  ],\n","       [0.08, 0.8 , 0.12],\n","       [0.  , 0.12, 0.88],\n","       [0.  , 0.  , 1.  ],\n","       [0.  , 0.96, 0.04],\n","       [0.92, 0.08, 0.  ],\n","       [0.04, 0.96, 0.  ]])"]},"metadata":{"tags":[]},"execution_count":20}]},{"metadata":{"id":"11ifxe10DvM0","colab_type":"text"},"cell_type":"markdown","source":["## Bonus：Bagging的另一个必要条件"]},{"metadata":{"id":"_2eBxPx7rLV6","colab_type":"text"},"cell_type":"markdown","source":["袋装法还有另一个必要条件：基分类器的判断准确率至少要超过随机分类器，即时说，基分类器的判断准确率至少要超过50%"]},{"metadata":{"id":"27kxFMKcDwEs","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":279},"outputId":"a4c28c94-fd8a-409a-842f-54a307816093","executionInfo":{"status":"ok","timestamp":1546233072159,"user_tz":-480,"elapsed":734,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["import numpy as np\n","x = np.linspace(0,1,20)\n","y = []\n","for epsilon in np.linspace(0,1,20):\n","    E = np.array([comb(25,i)*(epsilon**i)*((1-epsilon)**(25-i)) for i in range(13,26)]).sum()\n","    y.append(E)\n","plt.plot(x,y,\"o-\",label=\"when estimators are different\")\n","plt.plot(x,x,\"--\",color=\"red\",label=\"if all estimators are same\")\n","plt.xlabel(\"individual estimator's error\")\n","plt.ylabel(\"RandomForest's error\")\n","plt.legend()\n","plt.show()"],"execution_count":22,"outputs":[{"output_type":"display_data","data":{"image/png":"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\nP9dJLoMAAAAASUVORK5CYII=\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fb0d1bef0>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"TjDBj0Z1D7uZ","colab_type":"text"},"cell_type":"markdown","source":["# 回归树"]},{"metadata":{"id":"fNN4XPJtD9Lu","colab_type":"code","colab":{}},"cell_type":"code","source":["from sklearn.datasets import load_boston\n","from sklearn.model_selection import cross_val_score\n","from sklearn.ensemble import RandomForestRegressor\n","import sklearn\n","boston = load_boston()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"uWy8uSihtR7m","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":69},"outputId":"ec1480b3-69f6-4c53-eed4-df627108a747","executionInfo":{"status":"ok","timestamp":1546233683746,"user_tz":-480,"elapsed":3563,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["regressor = RandomForestRegressor(n_estimators=100,random_state=0)\n","cross_val_score(regressor, boston.data, boston.target, cv=10\n","                ,scoring = \"neg_mean_squared_error\"\n","#                 默认R平方\n","               )"],"execution_count":24,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([-10.72900447,  -5.36049859,  -4.74614178, -20.84946337,\n","       -12.23497347, -17.99274635,  -6.8952756 , -93.78884428,\n","       -29.80411702, -15.25776814])"]},"metadata":{"tags":[]},"execution_count":24}]},{"metadata":{"id":"p0_fBBbHuPpZ","colab_type":"text"},"cell_type":"markdown","source":["## sklearn中的模型评估指标（打分）列表"]},{"metadata":{"id":"ryZotYFxtYD9","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":622},"outputId":"f0e7df92-eaa5-4656-b1e7-655fae806e20","executionInfo":{"status":"ok","timestamp":1546233864672,"user_tz":-480,"elapsed":894,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["# sklearn中的模型评估指标（打分）列表\n","sorted(sklearn.metrics.SCORERS.keys())"],"execution_count":25,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['accuracy',\n"," 'adjusted_mutual_info_score',\n"," 'adjusted_rand_score',\n"," 'average_precision',\n"," 'balanced_accuracy',\n"," 'brier_score_loss',\n"," 'completeness_score',\n"," 'explained_variance',\n"," 'f1',\n"," 'f1_macro',\n"," 'f1_micro',\n"," 'f1_samples',\n"," 'f1_weighted',\n"," 'fowlkes_mallows_score',\n"," 'homogeneity_score',\n"," 'mutual_info_score',\n"," 'neg_log_loss',\n"," 'neg_mean_absolute_error',\n"," 'neg_mean_squared_error',\n"," 'neg_mean_squared_log_error',\n"," 'neg_median_absolute_error',\n"," 'normalized_mutual_info_score',\n"," 'precision',\n"," 'precision_macro',\n"," 'precision_micro',\n"," 'precision_samples',\n"," 'precision_weighted',\n"," 'r2',\n"," 'recall',\n"," 'recall_macro',\n"," 'recall_micro',\n"," 'recall_samples',\n"," 'recall_weighted',\n"," 'roc_auc',\n"," 'v_measure_score']"]},"metadata":{"tags":[]},"execution_count":25}]},{"metadata":{"id":"lRVrcCcGEE4_","colab_type":"text"},"cell_type":"markdown","source":["## 实例：用随机森林回归填补缺失值"]},{"metadata":{"id":"FVzif2RqEF1z","colab_type":"code","colab":{}},"cell_type":"code","source":["import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","from sklearn.datasets import load_boston\n","from sklearn.impute import SimpleImputer\n","from sklearn.ensemble import RandomForestRegressor\n","from sklearn.model_selection import cross_val_score"],"execution_count":0,"outputs":[]},{"metadata":{"id":"oAaqZRIrEJOa","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"b21d0ecd-fd25-4da6-d70a-7d6f56caca84","executionInfo":{"status":"ok","timestamp":1546234400608,"user_tz":-480,"elapsed":693,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["dataset = load_boston()\n","dataset.data.shape"],"execution_count":27,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(506, 13)"]},"metadata":{"tags":[]},"execution_count":27}]},{"metadata":{"id":"LOwfNmBtwHYE","colab_type":"code","colab":{}},"cell_type":"code","source":["#总共506*13=6578个数据\n","X_full, y_full = dataset.data, dataset.target"],"execution_count":0,"outputs":[]},{"metadata":{"id":"4r1U-HjkwbGm","colab_type":"code","colab":{}},"cell_type":"code","source":["n_samples = X_full.shape[0]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"qLPxet6NwcwE","colab_type":"code","colab":{}},"cell_type":"code","source":["n_features = X_full.shape[1]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"8JWPsYOJEJRg","colab_type":"code","colab":{}},"cell_type":"code","source":["#首先确定我们希望放入的缺失数据的比例，在这里我们假设是50%，那总共就要有3289个数据缺失\n","rng = np.random.RandomState(0)\n","missing_rate = 0.5\n","n_missing_samples = int(np.floor(n_samples * n_features * missing_rate))\n","#np.floor向下取整，返回.0格式的浮点数"],"execution_count":0,"outputs":[]},{"metadata":{"id":"4Tbjv07jxHhE","colab_type":"code","colab":{}},"cell_type":"code","source":["#所有数据要随机遍布在数据集的各行各列当中，而一个缺失的数据会需要一个行索引和一个列索引\n","#如果能够创造一个数组，包含3289个分布在0~506中间的行索引，和3289个分布在0~13之间的列索引，那我们就可\n","#以利用索引来为数据中的任意3289个位置赋空值\n","#然后我们用0，均值和随机森林来填写这些缺失值，然后查看回归的结果如何\n","\n","missing_features = rng.randint(0,n_features,n_missing_samples)\n","# numpy.random.randint(low, high=None, size=None, dtype='l')\n","# low : int \n","# 产生随机数的最小值\n","# high : int, optional \n","# 给随机数设置个上限，即产生的随机数必须小于high\n","# size : int or tuple of ints, optional \n","# 输出的大小，可以是整数，或者元组\n","missing_samples = rng.randint(0,n_samples,n_missing_samples)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Efx3kqMtyFNM","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"0247d660-32a8-4250-f6cd-180de96d5ea3","executionInfo":{"status":"ok","timestamp":1546234925729,"user_tz":-480,"elapsed":715,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["len(missing_features)"],"execution_count":33,"outputs":[{"output_type":"execute_result","data":{"text/plain":["3289"]},"metadata":{"tags":[]},"execution_count":33}]},{"metadata":{"id":"HsxW2a4DyJ6d","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"e0956d01-73cd-4303-91b5-492fefa5c29f","executionInfo":{"status":"ok","timestamp":1546234942697,"user_tz":-480,"elapsed":694,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["len(missing_samples)"],"execution_count":34,"outputs":[{"output_type":"execute_result","data":{"text/plain":["3289"]},"metadata":{"tags":[]},"execution_count":34}]},{"metadata":{"id":"5cxX7jOxx_N_","colab_type":"code","colab":{}},"cell_type":"code","source":["#missing_samples = rng.choice(dataset.data.shape[0],n_missing_samples,replace=False)\n","#我们现在采样了3289个数据，远远超过我们的样本量506，所以我们使用随机抽取的函数randint。但如果我们需要\n","#的数据量小于我们的样本量506，那我们可以采用np.random.choice来抽样，choice会随机抽取不重复的随机数，\n","#因此可以帮助我们让数据更加分散，确保数据不会集中在一些行中"],"execution_count":0,"outputs":[]},{"metadata":{"id":"FNDDGmTOyoNW","colab_type":"code","colab":{}},"cell_type":"code","source":["X_missing = X_full.copy()\n","y_missing = y_full.copy()\n","X_missing[missing_samples,missing_features] = np.nan"],"execution_count":0,"outputs":[]},{"metadata":{"id":"qjIRBzgcy1nh","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":1907},"outputId":"7d3ba01c-506b-470a-9f48-d3b34093550e","executionInfo":{"status":"ok","timestamp":1546235129988,"user_tz":-480,"elapsed":712,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["X_missing = pd.DataFrame(X_missing)\n","#转换成DataFrame是为了后续方便各种操作，numpy对矩阵的运算速度快到拯救人生，但是在索引等功能上却不如\n","#pandas来得好用\n","X_missing"],"execution_count":36,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","      <th>4</th>\n","      <th>5</th>\n","      <th>6</th>\n","      <th>7</th>\n","      <th>8</th>\n","      <th>9</th>\n","      <th>10</th>\n","      <th>11</th>\n","      <th>12</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>NaN</td>\n","      <td>18.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.538</td>\n","      <td>NaN</td>\n","      <td>65.2</td>\n","      <td>4.0900</td>\n","      <td>1.0</td>\n","      <td>296.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>4.98</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>0.02731</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.469</td>\n","      <td>NaN</td>\n","      <td>78.9</td>\n","      <td>4.9671</td>\n","      <td>2.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>9.14</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.02729</td>\n","      <td>NaN</td>\n","      <td>7.07</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>7.185</td>\n","      <td>61.1</td>\n","      <td>NaN</td>\n","      <td>2.0</td>\n","      <td>242.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.458</td>\n","      <td>NaN</td>\n","      <td>45.8</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>222.0</td>\n","      <td>18.7</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>2.18</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>7.147</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>18.7</td>\n","      <td>NaN</td>\n","      <td>5.33</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>6.430</td>\n","      <td>58.7</td>\n","      <td>6.0622</td>\n","      <td>NaN</td>\n","      <td>222.0</td>\n","      <td>18.7</td>\n","      <td>NaN</td>\n","      <td>5.21</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>NaN</td>\n","      <td>12.5</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.524</td>\n","      <td>NaN</td>\n","      <td>66.6</td>\n","      <td>5.5605</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>15.2</td>\n","      <td>NaN</td>\n","      <td>12.43</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>NaN</td>\n","      <td>12.5</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.524</td>\n","      <td>NaN</td>\n","      <td>96.1</td>\n","      <td>5.9505</td>\n","      <td>NaN</td>\n","      <td>311.0</td>\n","      <td>15.2</td>\n","      <td>396.90</td>\n","      <td>19.15</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>7.87</td>\n","      <td>NaN</td>\n","      <td>0.524</td>\n","      <td>5.631</td>\n","      <td>NaN</td>\n","      <td>6.0821</td>\n","      <td>5.0</td>\n","      <td>311.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>29.93</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>0.17004</td>\n","      <td>NaN</td>\n","      <td>7.87</td>\n","      <td>0.0</td>\n","      <td>0.524</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>6.5921</td>\n","      <td>NaN</td>\n","      <td>311.0</td>\n","      <td>NaN</td>\n","      <td>386.71</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>0.22489</td>\n","      <td>12.5</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>6.3467</td>\n","      <td>5.0</td>\n","      <td>311.0</td>\n","      <td>15.2</td>\n","      <td>392.52</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>0.11747</td>\n","      <td>12.5</td>\n","      <td>7.87</td>\n","      <td>0.0</td>\n","      <td>0.524</td>\n","      <td>6.009</td>\n","      <td>82.9</td>\n","      <td>6.2267</td>\n","      <td>5.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.524</td>\n","      <td>5.889</td>\n","      <td>39.0</td>\n","      <td>5.4509</td>\n","      <td>NaN</td>\n","      <td>311.0</td>\n","      <td>15.2</td>\n","      <td>390.50</td>\n","      <td>15.71</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>0.62976</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>61.8</td>\n","      <td>NaN</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>0.63796</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>NaN</td>\n","      <td>0.538</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>4.4619</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>380.02</td>\n","      <td>10.26</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>0.62739</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.834</td>\n","      <td>NaN</td>\n","      <td>4.4986</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>NaN</td>\n","      <td>8.47</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.935</td>\n","      <td>29.3</td>\n","      <td>4.4986</td>\n","      <td>NaN</td>\n","      <td>307.0</td>\n","      <td>21.0</td>\n","      <td>386.85</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>8.14</td>\n","      <td>NaN</td>\n","      <td>0.538</td>\n","      <td>5.990</td>\n","      <td>NaN</td>\n","      <td>4.2579</td>\n","      <td>NaN</td>\n","      <td>307.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>14.67</td>\n","    </tr>\n","    <tr>\n","      <th>18</th>\n","      <td>0.80271</td>\n","      <td>NaN</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>5.456</td>\n","      <td>36.6</td>\n","      <td>3.7965</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>288.99</td>\n","      <td>11.69</td>\n","    </tr>\n","    <tr>\n","      <th>19</th>\n","      <td>0.72580</td>\n","      <td>NaN</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.727</td>\n","      <td>NaN</td>\n","      <td>3.7965</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>21.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>20</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.570</td>\n","      <td>98.1</td>\n","      <td>3.7979</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>NaN</td>\n","      <td>376.57</td>\n","      <td>21.02</td>\n","    </tr>\n","    <tr>\n","      <th>21</th>\n","      <td>0.85204</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.965</td>\n","      <td>89.2</td>\n","      <td>4.0123</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>392.53</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>22</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>NaN</td>\n","      <td>0.538</td>\n","      <td>6.142</td>\n","      <td>91.7</td>\n","      <td>NaN</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>18.72</td>\n","    </tr>\n","    <tr>\n","      <th>23</th>\n","      <td>0.98843</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>394.54</td>\n","      <td>19.88</td>\n","    </tr>\n","    <tr>\n","      <th>24</th>\n","      <td>0.75026</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>5.924</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>16.30</td>\n","    </tr>\n","    <tr>\n","      <th>25</th>\n","      <td>0.84054</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.538</td>\n","      <td>NaN</td>\n","      <td>85.7</td>\n","      <td>4.4546</td>\n","      <td>NaN</td>\n","      <td>307.0</td>\n","      <td>21.0</td>\n","      <td>303.42</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>26</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>5.813</td>\n","      <td>NaN</td>\n","      <td>4.6820</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>27</th>\n","      <td>0.95577</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>6.047</td>\n","      <td>88.8</td>\n","      <td>4.4534</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>NaN</td>\n","      <td>306.38</td>\n","      <td>17.28</td>\n","    </tr>\n","    <tr>\n","      <th>28</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.538</td>\n","      <td>6.495</td>\n","      <td>94.4</td>\n","      <td>NaN</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>21.0</td>\n","      <td>387.94</td>\n","      <td>12.80</td>\n","    </tr>\n","    <tr>\n","      <th>29</th>\n","      <td>1.00245</td>\n","      <td>0.0</td>\n","      <td>8.14</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>6.674</td>\n","      <td>NaN</td>\n","      <td>4.2390</td>\n","      <td>4.0</td>\n","      <td>307.0</td>\n","      <td>21.0</td>\n","      <td>380.23</td>\n","      <td>11.98</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>476</th>\n","      <td>4.87141</td>\n","      <td>NaN</td>\n","      <td>18.10</td>\n","      <td>0.0</td>\n","      <td>0.614</td>\n","      <td>NaN</td>\n","      <td>93.6</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>666.0</td>\n","      <td>NaN</td>\n","      <td>396.21</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>477</th>\n","      <td>15.02340</td>\n","      <td>0.0</td>\n","      <td>18.10</td>\n","      <td>0.0</td>\n","      <td>0.614</td>\n","      <td>5.304</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>20.2</td>\n","      <td>NaN</td>\n","      <td>24.91</td>\n","    </tr>\n","    <tr>\n","      <th>478</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>18.10</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>666.0</td>\n","      <td>NaN</td>\n","      <td>379.70</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>479</th>\n","      <td>14.33370</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.614</td>\n","      <td>6.229</td>\n","      <td>88.0</td>\n","      <td>1.9512</td>\n","      <td>24.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>383.32</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>480</th>\n","      <td>5.82401</td>\n","      <td>NaN</td>\n","      <td>18.10</td>\n","      <td>0.0</td>\n","      <td>0.532</td>\n","      <td>NaN</td>\n","      <td>64.7</td>\n","      <td>3.4242</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>10.74</td>\n","    </tr>\n","    <tr>\n","      <th>481</th>\n","      <td>5.70818</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.532</td>\n","      <td>6.750</td>\n","      <td>NaN</td>\n","      <td>3.3317</td>\n","      <td>24.0</td>\n","      <td>NaN</td>\n","      <td>20.2</td>\n","      <td>393.07</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>482</th>\n","      <td>5.73116</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.532</td>\n","      <td>7.061</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>24.0</td>\n","      <td>666.0</td>\n","      <td>20.2</td>\n","      <td>395.28</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>483</th>\n","      <td>2.81838</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.532</td>\n","      <td>NaN</td>\n","      <td>40.3</td>\n","      <td>4.0983</td>\n","      <td>NaN</td>\n","      <td>666.0</td>\n","      <td>20.2</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>484</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.583</td>\n","      <td>5.871</td>\n","      <td>41.9</td>\n","      <td>NaN</td>\n","      <td>24.0</td>\n","      <td>666.0</td>\n","      <td>NaN</td>\n","      <td>370.73</td>\n","      <td>13.34</td>\n","    </tr>\n","    <tr>\n","      <th>485</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>18.10</td>\n","      <td>NaN</td>\n","      <td>0.583</td>\n","      <td>6.312</td>\n","      <td>51.9</td>\n","      <td>3.9917</td>\n","      <td>24.0</td>\n","      <td>666.0</td>\n","      <td>20.2</td>\n","      <td>388.62</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>486</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>18.10</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>6.114</td>\n","      <td>79.8</td>\n","      <td>3.5459</td>\n","      <td>24.0</td>\n","      <td>666.0</td>\n","      <td>20.2</td>\n","      <td>392.68</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>487</th>\n","      <td>4.83567</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>5.905</td>\n","      <td>53.2</td>\n","      <td>NaN</td>\n","      <td>24.0</td>\n","      <td>NaN</td>\n","      <td>20.2</td>\n","      <td>388.22</td>\n","      <td>11.45</td>\n","    </tr>\n","    <tr>\n","      <th>488</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>5.454</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>4.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>18.06</td>\n","    </tr>\n","    <tr>\n","      <th>489</th>\n","      <td>0.18337</td>\n","      <td>NaN</td>\n","      <td>27.74</td>\n","      <td>0.0</td>\n","      <td>0.609</td>\n","      <td>5.414</td>\n","      <td>98.3</td>\n","      <td>NaN</td>\n","      <td>4.0</td>\n","      <td>711.0</td>\n","      <td>20.1</td>\n","      <td>344.05</td>\n","      <td>23.97</td>\n","    </tr>\n","    <tr>\n","      <th>490</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>27.74</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>98.0</td>\n","      <td>1.8226</td>\n","      <td>NaN</td>\n","      <td>711.0</td>\n","      <td>NaN</td>\n","      <td>318.43</td>\n","      <td>29.68</td>\n","    </tr>\n","    <tr>\n","      <th>491</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>27.74</td>\n","      <td>0.0</td>\n","      <td>0.609</td>\n","      <td>5.983</td>\n","      <td>98.8</td>\n","      <td>1.8681</td>\n","      <td>4.0</td>\n","      <td>711.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>18.07</td>\n","    </tr>\n","    <tr>\n","      <th>492</th>\n","      <td>0.11132</td>\n","      <td>NaN</td>\n","      <td>27.74</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>83.5</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>711.0</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>13.35</td>\n","    </tr>\n","    <tr>\n","      <th>493</th>\n","      <td>0.17331</td>\n","      <td>NaN</td>\n","      <td>9.69</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>5.707</td>\n","      <td>NaN</td>\n","      <td>2.3817</td>\n","      <td>6.0</td>\n","      <td>391.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>494</th>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>9.69</td>\n","      <td>NaN</td>\n","      <td>0.585</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>2.3817</td>\n","      <td>6.0</td>\n","      <td>391.0</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>13.59</td>\n","    </tr>\n","    <tr>\n","      <th>495</th>\n","      <td>0.17899</td>\n","      <td>0.0</td>\n","      <td>9.69</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>28.8</td>\n","      <td>NaN</td>\n","      <td>6.0</td>\n","      <td>NaN</td>\n","      <td>19.2</td>\n","      <td>393.29</td>\n","      <td>17.60</td>\n","    </tr>\n","    <tr>\n","      <th>496</th>\n","      <td>0.28960</td>\n","      <td>0.0</td>\n","      <td>9.69</td>\n","      <td>NaN</td>\n","      <td>0.585</td>\n","      <td>NaN</td>\n","      <td>72.9</td>\n","      <td>2.7986</td>\n","      <td>6.0</td>\n","      <td>391.0</td>\n","      <td>19.2</td>\n","      <td>396.90</td>\n","      <td>21.14</td>\n","    </tr>\n","    <tr>\n","      <th>497</th>\n","      <td>0.26838</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>70.6</td>\n","      <td>2.8927</td>\n","      <td>6.0</td>\n","      <td>NaN</td>\n","      <td>19.2</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>498</th>\n","      <td>0.23912</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.585</td>\n","      <td>NaN</td>\n","      <td>65.3</td>\n","      <td>2.4091</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>12.92</td>\n","    </tr>\n","    <tr>\n","      <th>499</th>\n","      <td>0.17783</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>NaN</td>\n","      <td>5.569</td>\n","      <td>73.5</td>\n","      <td>2.3999</td>\n","      <td>6.0</td>\n","      <td>391.0</td>\n","      <td>19.2</td>\n","      <td>395.77</td>\n","      <td>15.10</td>\n","    </tr>\n","    <tr>\n","      <th>500</th>\n","      <td>0.22438</td>\n","      <td>0.0</td>\n","      <td>9.69</td>\n","      <td>NaN</td>\n","      <td>0.585</td>\n","      <td>6.027</td>\n","      <td>79.7</td>\n","      <td>2.4982</td>\n","      <td>6.0</td>\n","      <td>391.0</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>501</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.0</td>\n","      <td>0.573</td>\n","      <td>NaN</td>\n","      <td>69.1</td>\n","      <td>NaN</td>\n","      <td>1.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>NaN</td>\n","      <td>9.67</td>\n","    </tr>\n","    <tr>\n","      <th>502</th>\n","      <td>0.04527</td>\n","      <td>0.0</td>\n","      <td>11.93</td>\n","      <td>0.0</td>\n","      <td>0.573</td>\n","      <td>6.120</td>\n","      <td>76.7</td>\n","      <td>2.2875</td>\n","      <td>1.0</td>\n","      <td>273.0</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>9.08</td>\n","    </tr>\n","    <tr>\n","      <th>503</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>11.93</td>\n","      <td>NaN</td>\n","      <td>0.573</td>\n","      <td>6.976</td>\n","      <td>91.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>NaN</td>\n","      <td>5.64</td>\n","    </tr>\n","    <tr>\n","      <th>504</th>\n","      <td>0.10959</td>\n","      <td>0.0</td>\n","      <td>11.93</td>\n","      <td>NaN</td>\n","      <td>0.573</td>\n","      <td>NaN</td>\n","      <td>89.3</td>\n","      <td>NaN</td>\n","      <td>1.0</td>\n","      <td>NaN</td>\n","      <td>21.0</td>\n","      <td>393.45</td>\n","      <td>6.48</td>\n","    </tr>\n","    <tr>\n","      <th>505</th>\n","      <td>0.04741</td>\n","      <td>0.0</td>\n","      <td>11.93</td>\n","      <td>0.0</td>\n","      <td>0.573</td>\n","      <td>6.030</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>1.0</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>396.90</td>\n","      <td>7.88</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>506 rows × 13 columns</p>\n","</div>"],"text/plain":["           0     1      2    3      4      5     6       7     8      9   \\\n","0         NaN  18.0    NaN  NaN  0.538    NaN  65.2  4.0900   1.0  296.0   \n","1     0.02731   0.0    NaN  0.0  0.469    NaN  78.9  4.9671   2.0    NaN   \n","2     0.02729   NaN   7.07  0.0    NaN  7.185  61.1     NaN   2.0  242.0   \n","3         NaN   NaN    NaN  0.0  0.458    NaN  45.8     NaN   NaN  222.0   \n","4         NaN   0.0   2.18  0.0    NaN  7.147   NaN     NaN   NaN    NaN   \n","5         NaN   0.0    NaN  0.0    NaN  6.430  58.7  6.0622   NaN  222.0   \n","6         NaN  12.5    NaN  0.0  0.524    NaN  66.6  5.5605   NaN    NaN   \n","7         NaN  12.5    NaN  NaN  0.524    NaN  96.1  5.9505   NaN  311.0   \n","8         NaN   NaN   7.87  NaN  0.524  5.631   NaN  6.0821   5.0  311.0   \n","9     0.17004   NaN   7.87  0.0  0.524    NaN   NaN  6.5921   NaN  311.0   \n","10    0.22489  12.5    NaN  0.0    NaN    NaN   NaN  6.3467   5.0  311.0   \n","11    0.11747  12.5   7.87  0.0  0.524  6.009  82.9  6.2267   5.0    NaN   \n","12        NaN   NaN    NaN  NaN  0.524  5.889  39.0  5.4509   NaN  311.0   \n","13    0.62976   0.0    NaN  NaN    NaN    NaN  61.8     NaN   4.0    NaN   \n","14    0.63796   0.0   8.14  NaN  0.538    NaN   NaN  4.4619   4.0    NaN   \n","15    0.62739   0.0   8.14  0.0  0.538  5.834   NaN  4.4986   4.0    NaN   \n","16        NaN   NaN   8.14  0.0  0.538  5.935  29.3  4.4986   NaN  307.0   \n","17        NaN   NaN   8.14  NaN  0.538  5.990   NaN  4.2579   NaN  307.0   \n","18    0.80271   NaN   8.14  0.0    NaN  5.456  36.6  3.7965   4.0    NaN   \n","19    0.72580   NaN   8.14  0.0  0.538  5.727   NaN  3.7965   4.0  307.0   \n","20        NaN   0.0    NaN  0.0  0.538  5.570  98.1  3.7979   4.0  307.0   \n","21    0.85204   0.0   8.14  0.0  0.538  5.965  89.2  4.0123   4.0    NaN   \n","22        NaN   0.0   8.14  NaN  0.538  6.142  91.7     NaN   4.0    NaN   \n","23    0.98843   NaN    NaN  0.0    NaN    NaN   NaN     NaN   NaN    NaN   \n","24    0.75026   NaN    NaN  0.0  0.538  5.924   NaN     NaN   NaN    NaN   \n","25    0.84054   0.0    NaN  0.0  0.538    NaN  85.7  4.4546   NaN  307.0   \n","26        NaN   0.0    NaN  NaN    NaN  5.813   NaN  4.6820   4.0  307.0   \n","27    0.95577   0.0   8.14  0.0    NaN  6.047  88.8  4.4534   4.0  307.0   \n","28        NaN   0.0    NaN  NaN  0.538  6.495  94.4     NaN   4.0  307.0   \n","29    1.00245   0.0   8.14  NaN    NaN  6.674   NaN  4.2390   4.0  307.0   \n","..        ...   ...    ...  ...    ...    ...   ...     ...   ...    ...   \n","476   4.87141   NaN  18.10  0.0  0.614    NaN  93.6     NaN   NaN  666.0   \n","477  15.02340   0.0  18.10  0.0  0.614  5.304   NaN     NaN   NaN    NaN   \n","478       NaN   0.0  18.10  0.0    NaN    NaN   NaN     NaN   NaN  666.0   \n","479  14.33370   0.0    NaN  NaN  0.614  6.229  88.0  1.9512  24.0    NaN   \n","480   5.82401   NaN  18.10  0.0  0.532    NaN  64.7  3.4242   NaN    NaN   \n","481   5.70818   0.0    NaN  0.0  0.532  6.750   NaN  3.3317  24.0    NaN   \n","482   5.73116   0.0    NaN  NaN  0.532  7.061   NaN     NaN  24.0  666.0   \n","483   2.81838   0.0    NaN  NaN  0.532    NaN  40.3  4.0983   NaN  666.0   \n","484       NaN   0.0    NaN  0.0  0.583  5.871  41.9     NaN  24.0  666.0   \n","485       NaN   0.0  18.10  NaN  0.583  6.312  51.9  3.9917  24.0  666.0   \n","486       NaN   0.0  18.10  NaN    NaN  6.114  79.8  3.5459  24.0  666.0   \n","487   4.83567   0.0    NaN  0.0    NaN  5.905  53.2     NaN  24.0    NaN   \n","488       NaN   NaN    NaN  0.0    NaN  5.454   NaN     NaN   4.0    NaN   \n","489   0.18337   NaN  27.74  0.0  0.609  5.414  98.3     NaN   4.0  711.0   \n","490       NaN   0.0  27.74  0.0    NaN    NaN  98.0  1.8226   NaN  711.0   \n","491       NaN   0.0  27.74  0.0  0.609  5.983  98.8  1.8681   4.0  711.0   \n","492   0.11132   NaN  27.74  NaN    NaN    NaN  83.5     NaN   NaN  711.0   \n","493   0.17331   NaN   9.69  NaN    NaN  5.707   NaN  2.3817   6.0  391.0   \n","494       NaN   0.0   9.69  NaN  0.585    NaN   NaN  2.3817   6.0  391.0   \n","495   0.17899   0.0   9.69  0.0    NaN    NaN  28.8     NaN   6.0    NaN   \n","496   0.28960   0.0   9.69  NaN  0.585    NaN  72.9  2.7986   6.0  391.0   \n","497   0.26838   0.0    NaN  0.0    NaN    NaN  70.6  2.8927   6.0    NaN   \n","498   0.23912   NaN    NaN  0.0  0.585    NaN  65.3  2.4091   NaN    NaN   \n","499   0.17783   0.0    NaN  0.0    NaN  5.569  73.5  2.3999   6.0  391.0   \n","500   0.22438   0.0   9.69  NaN  0.585  6.027  79.7  2.4982   6.0  391.0   \n","501       NaN   NaN    NaN  0.0  0.573    NaN  69.1     NaN   1.0    NaN   \n","502   0.04527   0.0  11.93  0.0  0.573  6.120  76.7  2.2875   1.0  273.0   \n","503       NaN   NaN  11.93  NaN  0.573  6.976  91.0     NaN   NaN    NaN   \n","504   0.10959   0.0  11.93  NaN  0.573    NaN  89.3     NaN   1.0    NaN   \n","505   0.04741   0.0  11.93  0.0  0.573  6.030   NaN     NaN   1.0    NaN   \n","\n","       10      11     12  \n","0     NaN     NaN   4.98  \n","1     NaN  396.90   9.14  \n","2     NaN     NaN    NaN  \n","3    18.7     NaN    NaN  \n","4    18.7     NaN   5.33  \n","5    18.7     NaN   5.21  \n","6    15.2     NaN  12.43  \n","7    15.2  396.90  19.15  \n","8     NaN     NaN  29.93  \n","9     NaN  386.71    NaN  \n","10   15.2  392.52    NaN  \n","11    NaN     NaN    NaN  \n","12   15.2  390.50  15.71  \n","13   21.0     NaN    NaN  \n","14   21.0  380.02  10.26  \n","15   21.0     NaN   8.47  \n","16   21.0  386.85    NaN  \n","17    NaN     NaN  14.67  \n","18   21.0  288.99  11.69  \n","19   21.0     NaN    NaN  \n","20    NaN  376.57  21.02  \n","21    NaN  392.53    NaN  \n","22    NaN  396.90  18.72  \n","23   21.0  394.54  19.88  \n","24    NaN     NaN  16.30  \n","25   21.0  303.42    NaN  \n","26    NaN     NaN    NaN  \n","27    NaN  306.38  17.28  \n","28   21.0  387.94  12.80  \n","29   21.0  380.23  11.98  \n","..    ...     ...    ...  \n","476   NaN  396.21    NaN  \n","477  20.2     NaN  24.91  \n","478   NaN  379.70    NaN  \n","479   NaN  383.32    NaN  \n","480   NaN     NaN  10.74  \n","481  20.2  393.07    NaN  \n","482  20.2  395.28    NaN  \n","483  20.2     NaN    NaN  \n","484   NaN  370.73  13.34  \n","485  20.2  388.62    NaN  \n","486  20.2  392.68    NaN  \n","487  20.2  388.22  11.45  \n","488   NaN     NaN  18.06  \n","489  20.1  344.05  23.97  \n","490   NaN  318.43  29.68  \n","491   NaN     NaN  18.07  \n","492   NaN  396.90  13.35  \n","493   NaN     NaN    NaN  \n","494   NaN  396.90  13.59  \n","495  19.2  393.29  17.60  \n","496  19.2  396.90  21.14  \n","497  19.2     NaN    NaN  \n","498   NaN  396.90  12.92  \n","499  19.2  395.77  15.10  \n","500   NaN  396.90    NaN  \n","501  21.0     NaN   9.67  \n","502   NaN  396.90   9.08  \n","503  21.0     NaN   5.64  \n","504  21.0  393.45   6.48  \n","505   NaN  396.90   7.88  \n","\n","[506 rows x 13 columns]"]},"metadata":{"tags":[]},"execution_count":36}]},{"metadata":{"id":"5CjrLYQlzG0v","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":328},"outputId":"4d2918d4-c531-44a5-acb2-8f466a995b3d","executionInfo":{"status":"ok","timestamp":1546235191903,"user_tz":-480,"elapsed":710,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["X_missing.info()"],"execution_count":37,"outputs":[{"output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 506 entries, 0 to 505\n","Data columns (total 13 columns):\n","0     306 non-null float64\n","1     305 non-null float64\n","2     306 non-null float64\n","3     303 non-null float64\n","4     304 non-null float64\n","5     305 non-null float64\n","6     321 non-null float64\n","7     309 non-null float64\n","8     310 non-null float64\n","9     309 non-null float64\n","10    302 non-null float64\n","11    292 non-null float64\n","12    317 non-null float64\n","dtypes: float64(13)\n","memory usage: 51.5 KB\n"],"name":"stdout"}]},{"metadata":{"id":"Hr20v6GnEJUC","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":259},"outputId":"9591a00b-a9e5-428a-c797-aa2edbdceab3","executionInfo":{"status":"ok","timestamp":1546235471575,"user_tz":-480,"elapsed":754,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#使用均值进行填补\n","from sklearn.impute import SimpleImputer\n","imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')\n","X_missing_mean = imp_mean.fit_transform(X_missing)\n","pd.DataFrame(X_missing_mean).isnull().sum()"],"execution_count":39,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0     0\n","1     0\n","2     0\n","3     0\n","4     0\n","5     0\n","6     0\n","7     0\n","8     0\n","9     0\n","10    0\n","11    0\n","12    0\n","dtype: int64"]},"metadata":{"tags":[]},"execution_count":39}]},{"metadata":{"id":"49X6GmN0zP6O","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":259},"outputId":"3640332b-4977-4e9e-a70c-2ee14b17f8f2","executionInfo":{"status":"ok","timestamp":1546235494947,"user_tz":-480,"elapsed":716,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#使用0进行填补\n","imp_0 = SimpleImputer(missing_values=np.nan, strategy=\"constant\",fill_value=0)\n","X_missing_0 = imp_0.fit_transform(X_missing)\n","pd.DataFrame(X_missing_0).isnull().sum()"],"execution_count":40,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0     0\n","1     0\n","2     0\n","3     0\n","4     0\n","5     0\n","6     0\n","7     0\n","8     0\n","9     0\n","10    0\n","11    0\n","12    0\n","dtype: int64"]},"metadata":{"tags":[]},"execution_count":40}]},{"metadata":{"id":"z0TENAffEZ7k","colab_type":"code","colab":{}},"cell_type":"code","source":["X_missing_reg = X_missing.copy()\n","\n","sortindex = np.argsort(X_missing_reg.isnull().sum(axis=0)).values\n","# 返回从小到大排序所对应的索引"],"execution_count":0,"outputs":[]},{"metadata":{"id":"czGCgOwC3Cbh","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":259},"outputId":"c36983cd-805d-46f5-804b-88e7d72aa10f","executionInfo":{"status":"ok","timestamp":1546238285686,"user_tz":-480,"elapsed":690,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["X_missing_reg.isnull().sum(axis=0)"],"execution_count":71,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0     200\n","1     201\n","2     200\n","3     203\n","4     202\n","5     201\n","6     185\n","7     197\n","8     196\n","9     197\n","10    204\n","11    214\n","12    189\n","dtype: int64"]},"metadata":{"tags":[]},"execution_count":71}]},{"metadata":{"id":"r1Q5geoB3Jft","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"206863dd-87d9-4a6e-d31c-ba82f5a76ac8","executionInfo":{"status":"ok","timestamp":1546238289082,"user_tz":-480,"elapsed":760,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["sortindex"],"execution_count":72,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([ 6, 12,  8,  7,  9,  0,  2,  1,  5,  4,  3, 10, 11])"]},"metadata":{"tags":[]},"execution_count":72}]},{"metadata":{"id":"BjC9PJhJ6GG8","colab_type":"text"},"cell_type":"markdown","source":["### 一次填充"]},{"metadata":{"id":"tgO8vmX46Mfo","colab_type":"code","colab":{}},"cell_type":"code","source":["df = X_missing_reg\n","fillc = df.iloc[:,6]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"XwdxRMI96aeG","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":52},"outputId":"60fca0cf-c8b6-4880-cb8b-593ed579836f","executionInfo":{"status":"ok","timestamp":1546238295633,"user_tz":-480,"elapsed":691,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["df.columns != 6"],"execution_count":74,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([ True,  True,  True,  True,  True,  True, False,  True,  True,\n","        True,  True,  True,  True])"]},"metadata":{"tags":[]},"execution_count":74}]},{"metadata":{"id":"daoqFQAp6WZY","colab_type":"code","colab":{}},"cell_type":"code","source":["df = pd.concat([df.iloc[:,df.columns != 6],pd.DataFrame(y_full)],axis=1)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"br-Q21jW6MmZ","colab_type":"code","colab":{}},"cell_type":"code","source":["df_0 =SimpleImputer(missing_values=np.nan,\n","                        strategy='constant',fill_value=0).fit_transform(df)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"kUSnd9kW8gKN","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"528b6073-42a1-4d17-a31f-e0f4f45dcfda","executionInfo":{"status":"ok","timestamp":1546238318450,"user_tz":-480,"elapsed":654,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["fillc.notnull().sum()"],"execution_count":77,"outputs":[{"output_type":"execute_result","data":{"text/plain":["321"]},"metadata":{"tags":[]},"execution_count":77}]},{"metadata":{"id":"53LBgjlw6M0q","colab_type":"code","colab":{}},"cell_type":"code","source":["#找出我们的训练集和测试集\n","\n","# 选择非空标签所对应的值\n","Ytrain = fillc[fillc.notnull()]\n","\n","Ytest = fillc[fillc.isnull()]\n","# 我们需要的不是Ytest的值，而是它所带的索引\n","\n","# 选出非空标签所对应的特征\n","Xtrain = df_0[Ytrain.index,:]\n","# Xtrain2 = df_0[fillc.notnull(),:]二者等价\n","Xtest = df_0[Ytest.index,:]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"w2CyMZ2--ywk","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"e28ca848-d332-4dc9-8712-32a4dede47db","executionInfo":{"status":"ok","timestamp":1546238336328,"user_tz":-480,"elapsed":696,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Ytrain.shape"],"execution_count":79,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(321,)"]},"metadata":{"tags":[]},"execution_count":79}]},{"metadata":{"id":"vr3voEAU_Mp3","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":86},"outputId":"341fa13c-b800-47f1-f784-e198ab32241d","executionInfo":{"status":"ok","timestamp":1546238350970,"user_tz":-480,"elapsed":756,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Ytrain.index"],"execution_count":80,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Int64Index([  0,   1,   2,   3,   5,   6,   7,  11,  12,  13,\n","            ...\n","            495, 496, 497, 498, 499, 500, 501, 502, 503, 504],\n","           dtype='int64', length=321)"]},"metadata":{"tags":[]},"execution_count":80}]},{"metadata":{"id":"m05Rylh7AMEf","colab_type":"text"},"cell_type":"markdown","source":["#### 测试"]},{"metadata":{"id":"afWXXKAY-pO_","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"939b10c4-f7cf-4e44-d4e6-d46ff3d62f0f","executionInfo":{"status":"ok","timestamp":1546238367171,"user_tz":-480,"elapsed":719,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["fillc.notnull().sum()"],"execution_count":81,"outputs":[{"output_type":"execute_result","data":{"text/plain":["321"]},"metadata":{"tags":[]},"execution_count":81}]},{"metadata":{"id":"A4JgEcTa9CjJ","colab_type":"code","colab":{}},"cell_type":"code","source":["Xtrain2 = df_0[fillc.notnull(),:]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"XZJn1MGP-VJu","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"4b416f8d-32ff-420f-e435-e376111fcb7f","executionInfo":{"status":"ok","timestamp":1546238373888,"user_tz":-480,"elapsed":692,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Xtest2 = df_0[fillc.isnull(),:]\n","Xtest2.shape"],"execution_count":83,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(185, 13)"]},"metadata":{"tags":[]},"execution_count":83}]},{"metadata":{"id":"8GjF8Vyx9HKk","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"5783af08-d01b-422d-a72f-09398892ca39","executionInfo":{"status":"ok","timestamp":1546238377023,"user_tz":-480,"elapsed":715,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["type(Xtrain2)"],"execution_count":84,"outputs":[{"output_type":"execute_result","data":{"text/plain":["numpy.ndarray"]},"metadata":{"tags":[]},"execution_count":84}]},{"metadata":{"id":"Hc7acfu99-Ix","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":68},"outputId":"10da21ae-0d31-431d-95f6-1338ba12685e","executionInfo":{"status":"ok","timestamp":1546238379814,"user_tz":-480,"elapsed":775,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Xtrain2[8]"],"execution_count":85,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([  0.    ,   0.    ,   0.    ,   0.    ,   0.524 ,   5.889 ,\n","         5.4509,   0.    , 311.    ,  15.2   , 390.5   ,  15.71  ,\n","        21.7   ])"]},"metadata":{"tags":[]},"execution_count":85}]},{"metadata":{"id":"_7ZSRfOi-ELK","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":69},"outputId":"7c207e0f-90de-462f-fbf9-ef37659761f4","executionInfo":{"status":"ok","timestamp":1546238383044,"user_tz":-480,"elapsed":659,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Xtrain[8]"],"execution_count":86,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([  0.    ,   0.    ,   0.    ,   0.    ,   0.524 ,   5.889 ,\n","         5.4509,   0.    , 311.    ,  15.2   , 390.5   ,  15.71  ,\n","        21.7   ])"]},"metadata":{"tags":[]},"execution_count":86}]},{"metadata":{"id":"ZOrqoHA29pQB","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"fd644c15-9cbd-4c4e-8146-f547f8689491","executionInfo":{"status":"ok","timestamp":1546238386977,"user_tz":-480,"elapsed":705,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["Xtrain2.shape"],"execution_count":87,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(321, 13)"]},"metadata":{"tags":[]},"execution_count":87}]},{"metadata":{"id":"nV3BgVby9YZy","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"3a74c018-50d1-4c65-954e-c79cfcbf2b17","executionInfo":{"status":"ok","timestamp":1546238389761,"user_tz":-480,"elapsed":747,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["(Xtrain2-Xtrain).sum()"],"execution_count":88,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.0"]},"metadata":{"tags":[]},"execution_count":88}]},{"metadata":{"id":"fMEtutYPAUhU","colab_type":"text"},"cell_type":"markdown","source":["#### 填充"]},{"metadata":{"id":"0Z41_6vN60yV","colab_type":"code","colab":{}},"cell_type":"code","source":["#用随机森林回归来填补缺失值\n","rfc = RandomForestRegressor(n_estimators=100)\n","rfc = rfc.fit(Xtrain, Ytrain)\n","Ypredict = rfc.predict(Xtest)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"AxOk9iWH8YtF","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"40eda325-f982-4ae1-c997-d1e02b228425","executionInfo":{"status":"ok","timestamp":1546238399432,"user_tz":-480,"elapsed":715,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["len(Ypredict)"],"execution_count":90,"outputs":[{"output_type":"execute_result","data":{"text/plain":["185"]},"metadata":{"tags":[]},"execution_count":90}]},{"metadata":{"id":"AahqvnUl646m","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":328},"outputId":"42018a28-f0f8-4321-be38-7a90918c5deb","executionInfo":{"status":"ok","timestamp":1546238403104,"user_tz":-480,"elapsed":685,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["X_missing_reg.info()"],"execution_count":91,"outputs":[{"output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 506 entries, 0 to 505\n","Data columns (total 13 columns):\n","0     306 non-null float64\n","1     305 non-null float64\n","2     306 non-null float64\n","3     303 non-null float64\n","4     304 non-null float64\n","5     305 non-null float64\n","6     321 non-null float64\n","7     309 non-null float64\n","8     310 non-null float64\n","9     309 non-null float64\n","10    302 non-null float64\n","11    292 non-null float64\n","12    317 non-null float64\n","dtypes: float64(13)\n","memory usage: 51.5 KB\n"],"name":"stdout"}]},{"metadata":{"id":"ns_1Stw-6_E_","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":328},"outputId":"79660bca-17e2-477c-9db8-6922b9d0c661","executionInfo":{"status":"ok","timestamp":1546238411621,"user_tz":-480,"elapsed":864,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#将填补好的特征返回到我们的原始的特征矩阵中\n","X_missing_reg.loc[X_missing_reg.iloc[:,6].isnull(),6] = Ypredict\n","X_missing_reg.info()"],"execution_count":92,"outputs":[{"output_type":"stream","text":["<class 'pandas.core.frame.DataFrame'>\n","RangeIndex: 506 entries, 0 to 505\n","Data columns (total 13 columns):\n","0     306 non-null float64\n","1     305 non-null float64\n","2     306 non-null float64\n","3     303 non-null float64\n","4     304 non-null float64\n","5     305 non-null float64\n","6     506 non-null float64\n","7     309 non-null float64\n","8     310 non-null float64\n","9     309 non-null float64\n","10    302 non-null float64\n","11    292 non-null float64\n","12    317 non-null float64\n","dtypes: float64(13)\n","memory usage: 51.5 KB\n"],"name":"stdout"}]},{"metadata":{"id":"GA3l_i5_7bcw","colab_type":"text"},"cell_type":"markdown","source":["### 循环全部填充"]},{"metadata":{"id":"09m8RLFQ7ach","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":259},"outputId":"1104ba84-69e9-47b2-cf66-a480ec48ba2c","executionInfo":{"status":"ok","timestamp":1546238428375,"user_tz":-480,"elapsed":859,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["X_missing_reg2 = X_missing.copy()\n","\n","sortindex = np.argsort(X_missing_reg2.isnull().sum(axis=0)).values\n","X_missing_reg2.isnull().sum(axis=0)"],"execution_count":93,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0     200\n","1     201\n","2     200\n","3     203\n","4     202\n","5     201\n","6     185\n","7     197\n","8     196\n","9     197\n","10    204\n","11    214\n","12    189\n","dtype: int64"]},"metadata":{"tags":[]},"execution_count":93}]},{"metadata":{"id":"HvV9B8Cx23bZ","colab_type":"code","colab":{}},"cell_type":"code","source":["for i in sortindex:\n","    #构建我们的新特征矩阵和新标签\n","    df = X_missing_reg2\n","    fillc = df.iloc[:,i]\n","    df = pd.concat([df.iloc[:,df.columns != i],pd.DataFrame(y_full)],axis=1)\n","    \n","    #在新特征矩阵中，对含有缺失值的列，进行0的填补\n","    df_0 =SimpleImputer(missing_values=np.nan,\n","                        strategy='constant',fill_value=0).fit_transform(df)\n","    \n","    #找出我们的训练集和测试集\n","    Ytrain = fillc[fillc.notnull()]\n","    Ytest = fillc[fillc.isnull()]\n","    Xtrain = df_0[Ytrain.index,:]\n","    Xtest = df_0[Ytest.index,:]\n","    \n","    #用随机森林回归来填补缺失值\n","    rfc = RandomForestRegressor(n_estimators=100)\n","    rfc = rfc.fit(Xtrain, Ytrain)\n","    Ypredict = rfc.predict(Xtest)\n","    \n","    #将填补好的特征返回到我们的原始的特征矩阵中\n","    X_missing_reg2.loc[X_missing_reg2.iloc[:,i].isnull(),i] = Ypredict"],"execution_count":0,"outputs":[]},{"metadata":{"id":"OIDJS2WIEaCz","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"6c8d8ba1-0d0c-4f38-8d4e-ce562965b4a7","executionInfo":{"status":"ok","timestamp":1546238463129,"user_tz":-480,"elapsed":6010,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#对所有数据进行建模，取得MSE结果\n","X = [X_full,X_missing_mean,X_missing_0,X_missing_reg2]\n","mse = []\n","std = []\n","for x in X:\n","    estimator = RandomForestRegressor(random_state=0, n_estimators=100)\n","    scores = cross_val_score(estimator,x,y_full,scoring='neg_mean_squared_error',\n","                            cv=5).mean()\n","    mse.append(scores * -1)\n","mse"],"execution_count":95,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[21.62860460743544, 40.84405476955929, 49.50657028893417, 19.47990619763152]"]},"metadata":{"tags":[]},"execution_count":95}]},{"metadata":{"id":"f61s-I7fEaLf","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":403},"outputId":"da5b6fc8-3f08-482f-ebc1-d7400b79794f","executionInfo":{"status":"ok","timestamp":1546239441462,"user_tz":-480,"elapsed":859,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["x_labels = ['Full data',\n","            'Zero Imputation',\n","            'Mean Imputation',\n","            'Regressor Imputation']\n","colors = ['r', 'g', 'b', 'orange']\n","plt.figure(figsize=(12, 6))\n","ax = plt.subplot(111)#添加子图\n","for i in np.arange(len(mse)):\n","    ax.barh(i, mse[i],color=colors[i], alpha=0.6, align='center')\n","#     横向条形图\n","ax.set_title('Imputation Techniques with Boston Data')\n","ax.set_xlim(left=np.min(mse) * 0.9,\n","            right=np.max(mse) * 1.1)\n","ax.set_yticks(np.arange(len(mse)))\n","ax.set_xlabel('MSE')\n","ax.invert_yaxis()\n","#y轴反向\n","\n","ax.set_yticklabels(x_labels)\n","plt.show()"],"execution_count":97,"outputs":[{"output_type":"display_data","data":{"image/png":"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\nSUVORK5CYII=\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fb0ccfcf8>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"qLU8YfOxE2xB","colab_type":"text"},"cell_type":"markdown","source":["# 实例：随机森林在乳腺癌数据上的调参"]},{"metadata":{"id":"WEHsoZ5kE3lM","colab_type":"code","colab":{}},"cell_type":"code","source":["from sklearn.datasets import load_breast_cancer\n","from sklearn.ensemble import RandomForestClassifier\n","from sklearn.model_selection import GridSearchCV\n","from sklearn.model_selection import cross_val_score\n","import matplotlib.pyplot as plt\n","import pandas as pd\n","import numpy as np"],"execution_count":0,"outputs":[]},{"metadata":{"id":"ZpNGPR6lE4FE","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":459},"outputId":"517bc94b-da41-40c3-d2ed-4fd3efd7b80f","executionInfo":{"status":"ok","timestamp":1546241529078,"user_tz":-480,"elapsed":671,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["data = load_breast_cancer()\n","data\n","data.data.shape\n","data.target\n","#可以看到，乳腺癌数据集有569条记录，30个特征，单看维度虽然不算太高，但是样本量非常少。\n","# 过拟合的情况可能存在。"],"execution_count":99,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n","       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n","       0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,\n","       1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,\n","       1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,\n","       1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,\n","       0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,\n","       1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,\n","       1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n","       0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,\n","       1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n","       1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n","       0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,\n","       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,\n","       1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n","       0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,\n","       0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n","       1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,\n","       1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n","       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n","       1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,\n","       1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,\n","       1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n","       1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n","       1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n","       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1])"]},"metadata":{"tags":[]},"execution_count":99}]},{"metadata":{"id":"jvG_XjgfFCJ3","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"745d0c29-950d-40a5-9760-c8fe967a0f91","executionInfo":{"status":"ok","timestamp":1546241726124,"user_tz":-480,"elapsed":2358,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc = RandomForestClassifier(n_estimators=100,random_state=90)\n","score_pre = cross_val_score(rfc,data.data,data.target,cv=10).mean()\n","score_pre\n","#这里可以看到，随机森林在乳腺癌数据上的表现本就还不错，在现实数据集上，基本上不可能什么都不调就看到95%以\n","# 上的准确率"],"execution_count":100,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9666925935528475"]},"metadata":{"tags":[]},"execution_count":100}]},{"metadata":{"id":"UDltfVSBPYmK","colab_type":"text"},"cell_type":"markdown","source":["## n_estimators"]},{"metadata":{"id":"TiS8BeIKE4MZ","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":358},"outputId":"942b0c5a-59c5-4976-98e0-391209de4b5e","executionInfo":{"status":"ok","timestamp":1546241827344,"user_tz":-480,"elapsed":58203,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["scorel = []\n","for i in range(0,200,10):\n","    rfc = RandomForestClassifier(n_estimators=i+1,\n","                                    n_jobs=-1,\n","                                    random_state=90)\n","    score = cross_val_score(rfc,data.data,data.target,cv=10).mean()\n","    scorel.append(score)\n","print(max(scorel),(scorel.index(max(scorel))*10)+1)\n","plt.figure(figsize=[20,5])\n","plt.plot(range(1,201,10),scorel)\n","plt.show()\n","#list.index([object])\n","#返回这个object在列表list中的索引"],"execution_count":101,"outputs":[{"output_type":"stream","text":["0.9684480598046841 41\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fd9cd4ef0>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"mzmnjnJWE4Sp","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":357},"outputId":"a5bcfcac-29c5-4c90-fe4a-9b6eb1d4446c","executionInfo":{"status":"ok","timestamp":1546241924539,"user_tz":-480,"elapsed":20346,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["scorel = []\n","for i in range(35,45):\n","    rfc = RandomForestClassifier(n_estimators=i,\n","                                n_jobs=-1,\n","                                random_state=90)\n","    score = cross_val_score(rfc,data.data,data.target,cv=10).mean()\n","    scorel.append(score)\n","print(max(scorel),([*range(35,45)][scorel.index(max(scorel))]))\n","plt.figure(figsize=[20,5])\n","plt.plot(range(35,45),scorel)\n","plt.show()\n","\n","# 有一些参数是没有参照的，很难说清一个范围，这种情况下我们使用学习曲线，看趋势\n","# 从曲线跑出的结果中选取一个更小的区间，再跑曲线"],"execution_count":102,"outputs":[{"output_type":"stream","text":["0.9719568317345088 39\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABIoAAAEvCAYAAAAq+CoPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl4lfWd///nOdl3QvaVJcBNFhII\nBAFlE8ENFBVxqmJbl1bt1NbOd6a19pr5zm8u2vnWfsd+W6tWa6tSkXFjUVwCyKK4kISwhMCdhS0L\nZCE72XPu3x9Eh1qRLcmd5Lwe1+VFTk7OfV438slJXue+37fDsixEREREREREREScdgcQERERERER\nEZHBQUWRiIiIiIiIiIgAKopERERERERERKSXiiIREREREREREQFUFImIiIiIiIiISC8VRSIiIiIi\nIiIiAoCn3QG+SU1Ns2V3BpEvhIb6U1/fancMEbelNShiP61DEXtpDYrYb7isw4iIIMe57tMRRSIX\nyNPTw+4IIm5Na1DEflqHIvbSGhSxnzusQxVFIiIiIiIiIiICqCgSEREREREREZFeKopERERERERE\nRARQUSQiIiIiIiIiIr1UFImIiIiIiIiICACeF/JFhmE8CcwALOBHpmnmnHXfzcAvgA5gjWmaTxmG\ncR+w4qxNTDNNM9AwjHTgD4ALqAfuNE1z6F9XTkRERERERERkGDjvEUWGYcwFxpumORO4D/jdWfc5\ngaeAG4A5wBLDMOJN03zBNM15pmnOA/4NeKn3Ib8H/sk0zblAMfCdPtwXERERERERERG5DBdy6tkC\nYB2AaZoHgVDDMIJ77wsHGkzTrDFN0wVsAa75yuP/FfiP3o+XmKa5q/fjGiDscsKLiIiIiIiIiEjf\nuZBTz6KBvLNu1/R+rqn34yDDMMYDR4H5wLYvvtAwjCygzDTNkwCmaTb1fj4AuAe4/bL3QERERERE\nRERE+sQFzSj6CscXH5imaRmG8W3gz0AjcOTs+4H7gRfPfnBvSbQB+E3vEUrnFBrqj6enxyVEFOkf\nERFBdkcQcWtag0PXwSN11DW1Mys9BofDcf4HyKCldShiL61BEfsN93V4IUVRJWeOIPpCLHDiixum\naW4HZgMYhvErzhxZ9IV5wA+/uGEYhiewHlhtmuaL53vi+nrNuZbBIyIiiJqaZrtjiLgtrcGhq6Km\nhf94KZfObhcLMuP51jXjcTpVFg1FWoci9tIaFLHfcFmH31R2XciMomxgGYBhGJlApWmaX/6tGIbx\nnmEYkb1HCi0BNvd+PhZoMU2z86xt/RTYZprmCxe9FyIiIjLktHd28/S6Ajq7XYQF+7Jldzl/WLuf\njq4eu6OJiIiIyNc4b1FkmuYnQJ5hGJ9w5opnPzAM4zuGYdzS+yXPc6ZM+hj4lWmatb2fjwGqv7K5\nHwA3GIaxrfe/f+2TvRAREZFBx7IsVn1QxIlTrVwzLZ5/v3c6yaNCyS+u5der82k63Xn+jYiIiIjI\ngHJYlmV3hnOqqWkevOHE7QyXQwxFhiqtwaFnx95KXnzvEGNignns7kw8PZx097h48b1DfFJwkogR\nvvz49gxiwgLsjioXSOtQxF5agyL2Gy7rMCIi6JxzAC7k1DMRERGRi1JW3cIrm4rw9/HkoZtT8fQ4\n8yOHp4eT+25M5qYrR1PT0M4vV+VRXN5gc1oRERER+YKKIhEREelTbR1n5hJ1dbu4b3Ey4SP8/uZ+\nh8PB0tlj+e71E2nr6OGJV/eQe+irZ6uLiIiIiB1UFImIiEifsSyLl94/RFVdK9dNT2TK+Ihzfu3s\njFh+fHs6Hh4OnllXwAe7jjOYT4kXERERcQcqikRERKTPbMuvYNfBasbFhXDr3LHn/fq0sWE8dlcm\nIYHe/PeHJazeXIzLpbJIRERExC4qikRERKRPHDvZzKtbign08+LBs+YSnU9iVBC/uGcacREBbMkr\n5w9r99PR1dPPaUVERETk66goEhERkcvW2t7N0+v2091jcf/iFEYG+17U40cG+/LYXZkkjwolv7iW\nX6/Op+l0Zz+lFREREZFzUVEkIiIil8WyLP7y3kFqGtq5ceYo0pPCLmk7/r5ePLo8g1lp0Rw50cTK\nVbmcrGvt47QiIiIi8k1UFImIiMhl2ZxXTp5Zw4SEESydPeaytuXp4eS+G5NZMms0NQ3trHw5l+Ly\nhj5KKiIiIiLno6JIRERELtnhyiZe+7CEIH8vvn9TKh7Oy//RwuFwcMucsXzn+om0dfTwxKt7yD1U\n3QdpRUREROR8VBSJiIjIJTnd3sUz6wpwuSy+tySV0CCfPt3+nIxYfnx7Oh4eDp5ZV8AHu45jWboi\nmoiIiEh/UlEkIiIiF82yLF545yCnmtpZcuVoUseM7JfnSRsbxmN3ZRIc6M1/f1jC6s3FuFwqi0RE\nRET6i4oiERERuWgf7CpjT0ktyaNCuenKy5tLdD6JUUH8YsU04sID2JJXzh/W7qejq6dfn1NERETE\nXakoEhERkYtSUtHIm9tLCQnw5ntLUnA6Hf3+nGEhvjx2dybJo0LJL67liVfzaTrd2e/PKyIiIuJu\nVBSJiIjIBWtu7Twzl8iy+P5NqYQE9u1com/i7+vFo8szmJkazeHKJlauyuVkXeuAPb+IiIiIO1BR\nJCIiIhfEZVn86Z2D1Dd3sPSqMUwcFTrgGTw9nNy/OJkls0ZT09DOL1flUVLeOOA5RERERIYrFUUi\nIiJyQd777Bj7D58idcxIbpw12rYcDoeDW+aM5TvXT6S1vZtfv5pP7qFq2/KIiIiIDCcqikREROS8\nisoaWLvjCKFBPjywJAWno//nEp3PnIxYfnx7Oh4eDp5ZV0D2ruNYlq6IJiIiInI5VBSJiIjIN2o6\n3cmz6wsA+P5NqQT7e9uc6H+kjQ3jsbsyCQ70Zs2HJby6uRiXS2WRiIiIyKVSUSQiIiLn5HJZPP/2\nARpaOrl17lgmJIywO9LfSYwK4hcrphEXHsDmvHL+sHY/HV09dscSERERGZJUFImIiMg5vfPpUQ4c\nrSc9KYzrrki0O845hYX48tjdmUxMHEF+cS1PvJpPU2un3bFEREREhhwVRSIiIvK1Dh6rZ/3HRxgZ\n7MP9iwfHXKJv4u/rxU/umMzM1GgOVzbxy5fzqKprtTuWiIiIyJCiokhERET+TmNLB3/ccACnw8FD\nN6cR6Odld6QL4unh5P7FySyeNZrqhjZWrsqjpLzR7lgiIiIiQ4aKIhEREfkbLpfFHzccoOl0J8vm\nJZEUF2J3pIvicDi4dc5YvnP9RFrbu3liTT65h6rtjiUiIiIyJKgoEhERkb+x/uMjHDrewJTx4SzK\nSrA7ziWbkxHLj25Px+l08My6ArJzyuyOJCIiIjLoqSgSERGRLxUcOcU7nxwlPMSXe29MxjHI5xKd\nz6SxYfzszkyCA71Zs6WY1ZuLcLksu2OJiIiIDFoqikRERASA+uYOnttQiNPp4KGlaQT4Do25ROcz\nKjqIX6yYRlx4AJtzy3l6XQEdXT12xxIREREZlFQUiYiICD0uF39cX0BLWxd3XD2OMTHBdkfqU2Eh\nvjx2dyYTE0ewu6iG37yaT1Nrp92xRERERAYdFUUiIiLC2h1HKCpvZJoRwYKp8XbH6Rf+vl785I7J\nzEyNorSyiV++nEdVXavdsUREREQGFRVFIiIibm5faS3vfnaMyBF+fOf6oT+X6Jt4eji5f3EKi2eN\norqhjZWr8iipaLQ7loiIiMigoaJIRETEjZ1qbOf5twvx9HDy0NI0/H097Y7U7xwOB7fOSeLb1xm0\ntnfzxKv55B6qtjuWiIiIyKCgokhERMRNdfe4eHZDAafbu/nWNeMZFR1kd6QBNXdyHI8sS8fpdPDM\nugKyc8rsjiQiIiJiOxVFIiIiburN7aWUVjRxRUoU8ybH2h3HFulJYfzszkyCA7xZs6WY1ZuLcLks\nu2OJiIiI2EZFkYiIiBvKL6rhg11lRI30555rjWE9l+h8RkUH8fg9U4kND2BzbjlPryugs6vH7lgi\nIiIitlBRJCIi4mZqGtp4YeNBvDydPLw0DT+f4T+X6HzCQ/z4+d2ZTEwcwe6iGp54NZ+m1k67Y4mI\niIgMOBVFIiIibqS7x8Wz6wto7ejm7oUTSIgMtDvSoOHv68WjyyczIzWK0somfvlyHlV1rXbHEhER\nERlQKopERETcyGsflnDkRDOz0qK5Kj3G7jiDjpenkwcWp7B41iiqG9pYuSqPkopGu2OJiIiIDBgV\nRSIiIm4i91A1m/PKiQ0PYMUi955L9E0cDge3zkni29cZtLZ388Sr+eSZ1XbHEhERERkQKopERETc\nQHV9K3957yDeXk4eWpqGj7eH3ZEGvbmT43hkWTpOh4On1xaQnVNmdyQRERGRfqeiSEREZJjr6u7h\n6XUFtHX0cM+1BnHhAXZHGjLSk8L42V2ZBAd4s2ZLMas3F+FyWXbHEhEREek3KopERESGuTVbSjhe\n1cLs9BhmpWku0cUaFR3E4/dMJTY8gM255TyzroDOrh67Y4mIiIj0CxVFIiIiw9hnhSfZml9BfEQA\ndy2cYHecISs8xI+f353JxMQR5BXV8MSafJpaO+2OJSIiItLnVBSJiIgMUydOneal9018vD14aGka\n3l6aS3Q5/H29eHT5ZGakRlFa0cQvV+VRVd9qdywRERGRPqWiSEREZBjq7OrhmXUH6Ojs4dvXGcSE\naS5RX/DydPLA4hQWzxpFdX0bK1/Oo6Si0e5YIiIiIn1GRZGIiMgwtHpzEeU1LcybEseMlGi74wwr\nDoeDW+ckcc91Bq3t3Tzxaj55Zo3dsURERET6hKfdAURERKRvfVJwgh17T5AYFci3FoyzO86wNW9y\nHCODfHlmXQFPr93PPywYz8KsBLtjiYjIIGRZFh/tO0FJuY5CHcqcTge3LzQI8HTYHaVfqSgSEREZ\nRipqT/PyByZ+PmfmEnl5ai5Rf0pPCuNnd2Xy29f38uqWYmob27ljwTicjuH9A6SIiFw4l8vilc1F\nbN1dYXcU6QNJCaHMTouyO0a/UlEkIiIyTHR09vReut3Fw0vTiAr1tzuSWxgVHcTj90zlt6/vY1Nu\nGXVN7TywJEXDw0VEhM6uHv644QD5xbXERwRy/+JkfH30a/hQ5eFwYCSFU1vbYneUfqV/oSIiIsOA\nZVmsyjaprD3NgqnxTJsYaXcktxIe4sdjd2fyh7f2k1dUQ8OafB65LZ0gf2+7o4mIiE1a2rr43Rv7\nKKloJHlUKD+4ZRL+vvoVfKhzuMFRwxf0r9QwjCeBGYAF/Mg0zZyz7rsZ+AXQAawxTfMpwzDuA1ac\ntYlppmkGGoaRATzTu519pmk+1Ef7ISIi4tY+3neCTwpOMiYmiOXzNZfIDgG+Xjy6fDJ/efcgnxVW\nsXJVHo8uz9CRXSIibqi2oY3/em0vJ+tamZESxb03JuPpoWtJydBw3n+phmHMBcabpjkTuA/43Vn3\nOYGngBuAOcASwzDiTdN8wTTNeaZpzgP+DXip9yG/5UzRdCUQYhjG9X26NyIiIm6ovLqFv24qwt/H\nkwdvTsPLUz+I2sXL08kDS1K4ceYoquvbWPlyHqUVGlwqIuJOjlc1s3JVHifrWrnuikTuX5KikkiG\nlAv517oAWAdgmuZBINQwjODe+8KBBtM0a0zTdAFbgGu+8vh/Bf7DMAxvYMxZRyO9/TVfKyIiIheh\nraObp9cV0NXt4r4bk4kY4Wd3JLfncDi4bW4S91xn0Nreza9fzSfPrLE7loiIDIDCo3X85yu7aTrd\nybcWjGf5fF3gQIaeCymKooGzf7qp6f3cFx8HGYYx3jAML2A+8OX4b8MwsoAy0zRPcqZUqj9rO9VA\nzGVkFxERcWuWZfHyByYn61pZlJXAlAkRdkeSs8ybHMcjyybhdDh4eu1+NuWW2R1JRET60acHTvLk\na3vp7nHx4NI0FmYl2B1J5JJcyiStL+tQ0zQtwzC+DfwZaASOnH0/cD/w4vm2cy6hof546rK+MohE\nRATZHUHErWkN/q33Pj3K54VVGKNCeej2yTqsfRBaEBHEqPhQ/r8/fcarm4tp7XRx75JUnM6h++6y\n1qGIvbQGBx/LsnhrawkvbiwkwNeTx++9gklJ4XbHkn403NfhhRRFlfzPEUQAscCJL26YprkdmA1g\nGMavgKNnfe084Ie9H9cAYWfdF9e77XOqr2+9gHgiAyMiIoiamma7Y4i4La3Bv3XsZDPPrd1PgK8n\n99+QTH3dabsjyTmE+Hjw2N2ZPPnaXtbvKKW8qokHFqfg7TX03gzTOhSxl9bg4ONyWby6pZgteeWE\nBvnw6PIMooN99P9pGBsu6/Cbyq4LeesxG1gGYBhGJlBpmuaXfyuGYbxnGEakYRgBwBJgc+/nY4EW\n0zQ7AUzT7AIOGYZxVe9DbwXev/jdERERcW+t7d08s76A7h4XDyxJISzE1+5Ich7hIX78fMVUjIQR\n5Jk1PLEmn+bWTrtjiYjIZejq7uHZ9QVsySsnLiKAx1dMJT4i0O5YIpftvEWRaZqfAHmGYXzCmSue\n/cAwjO8YhnFL75c8z5ky6WPgV6Zp1vZ+PoYzc4jO9mPgV4Zh7ARKTdPc3Bc7ISIi4i4sy+LF9w5S\nXd/G9TMSSdeh7UNGgK8XP7ljMjNSoiitaGLlqjyqdPS0iMiQdLq9i/+7Zg+5Zg1GwggeuyuTkcF6\n40aGB4dlWXZnOKeamubBG07cznA5xFBkqNIaPGNLXjmvbCpiQnwI/3znFDycmks01Lgsi7U7DrPx\n02ME+nnxo2XpJMWF2B3rgmgdithLa3BwqGtq579e20tl7WmyJkZy/+IUvDz1euwuhss6jIgIOufA\nRP1rFhERGSKOnGhizZZigvy9+P7NaSqJhiinw8Ftc5O451qD0+1d/PrVfPLMmvM/UEREbFde3cLK\nVXlU1p5m4bQEvn9zqkoiGXb0L1pERGQION3exTPrCnC5LB5YkkJokI/dkeQyzZsSx4+WpeN0OHh6\n7X4255bZHUlERL7BwWP1/OqVPOqbO1g+fxzfumY8TsfQvYqlyLmoKBIRERnkLMvizxsPUtvYzo2z\nRpM2Juz8D5IhIT0pnJ/eNYXgAG9Wby5mzZZiXIN4LICIiLvadbCKJ1/bQ2eXi+/dlMJ1VyTaHUmk\n36goEhERGeQ25ZSRX1zLxMQRLL1qjN1xpI+Njg7m8RVTiQnzJzunjGfWFdDZ1WN3LBER6ZW96zjP\nrj+Al6eTnyzPYEZKtN2RRPqViiIREZFBrLSikde3lRIc4M33b0rF6dQh7sNR+Ag/fr5iKkbCCPLM\nGn6zZg/NrZ12xxIRcWsuy2LNlmLWfFjCiEBvfnbXVJJHj7Q7lki/U1EkIiIySLW0dfHM+gJclsX3\nl6QQEqi5RMNZgK8XP7ljMlekRFFS0cgvV+VRXd9qdywREbfU1e3iuQ0HyM4pIybMn8dXTCMhMtDu\nWCIDQkWRiIjIIOSyLP70TiF1TR3cfOUYvYPpJrw8nTywJIUbZ46iqr6NlavyKK1stDuWiIhbaW3v\n4snX9rDrYDXj4kN47O6phIX42h1LZMCoKBIRERmEPvj8OPtKT5E6OpTFs0bbHUcGkNPh4La5Sdxz\nrUFLWxdPrM5nd1GN3bFERNxCfXMH//nKbg4db2DqhAj+1x2TCfTzsjuWyIBSUSQiIjLIFJU18Ob2\nw4wI9OaBJZpL5K7mTYnjkdvScTgc/OGt/WzOLbM7kojIsFZR08LKVbmU15zm6sw4HlqahreXh92x\nRAaciiIREZFBpKm1k2fXF2Bh8f2bUgkO8LY7ktgoY1w4P71rCkEB3qzeXMyaLcW4LMvuWCIiw05R\nWQO/+utu6po6WDYvibsWTtAbNeK2VBSJiIgMEi7L4k9vF9LQ0smtc8ZiJIbaHUkGgdHRwfxixVRi\nwvzJzinj2XUFdHb12B1LRGTYyD1UzW/W7KGjq4f7Fydzw4xROBwqicR9qSgSEREZJDZ+eoyCI3Wk\nJ4Vx/YxRdseRQSR8hB8/XzEVI2EEuWYNv1mzh+bWTrtjiYgMeZtzy3hmXQEeHg5+fHsGs9Ji7I4k\nYjsVRSIiIoPAoWP1rPvoMKFBPtx3YzJOvZMpXxHg68VP7pjMFSlRlFQ08stVeVTXt9odS0RkSHJZ\nFq9vLWH15mKCA7z52Z2ZpI7RFUZFQEWRiIiI7RpPd/LHDQdwOhw8dHMaQf6aSyRfz8vTyQNLUrhh\nxiiq6ttYuSqP0spGu2OJiAwp3T0u/vROIe99fpyokf78fMVURkUH2R1LZNBQUSQiImIjl8viuQ0H\naDzdyW1zkxgXH2J3JBnknA4Hy+Ylcc+1Bi1tXTyxOp/8ohq7Y4mIDAltHd08+dpePjtQRVJsMD+/\nO5OIEX52xxIZVFQUiYiI2GjDziMcPFbP5HHhXDs9we44MoTMmxLHI7elgwOeems/m3PL7I4kIjKo\nNbR08J+v7P7ydfd/fWuKjuIV+RoqikRERGxy4Ggdb+88SliwL/ctTtYVVuSiZYwL56d3ZhIU4M3q\nzcX894fFuCzL7lgiIoPOiVOnWflyHmXVLcybHMsPbk3Dx8vD7lgig5KKIhERERvUN3fw3IYDOJ0O\nHlqaRoCvl92RZIgaExPML1ZMJSbMnw92lfHsugK6unvsjiUiMmiUlJ+5AMCppnZumTOWFdcaeDj1\nq7DIuWh1iIiIDLAel4s/bjhAc2sXy68ex9jYYLsjyRAXPsKPn6+YyoSEEeSaNTyxZg8tbV12xxIR\nsd3uohqeWJNPW0cP996QzJJZo3UEr8h5qCgSEREZYOs+OkJRWQNTjQiumRpvdxwZJgJ8vfinOyYz\nPTmSkvJGVr6cS3V9q92xRERss3V3OX9Yux+nw8Ejy9K5Kj3G7kgiQ4KKIhERkQG0r/QUGz89RsQI\nX757veYSSd/y8nTyvZtSuX5GIlX1baxclcfhyia7Y4mIDCjLsnhzeymrsosI8vPiX+6cQnpSmN2x\nRIYMFUUiIiIDpK6pnT+9U4inh4OHl07C39fT7kgyDDkdDm6fN44V1xq0tHXx69W7yS+qsTuWiMiA\n6O5x8eeNB9n46TEiQ8+cljsmRqd4i1wMFUUiIiIDoLvHxbPrD9DS1sW3FoxnVHSQ3ZFkmJs/JY4f\n3pYODnjqrf1sySu3O5KISL9q6+jmd2/sY2fBScbEBPPzFVOJDPW3O5bIkKOiSEREZAC8teMwJRWN\nTE+OZN6UOLvjiJuYPC6cn96ZSVCAN69sKuK/PyzGZVl2xxIR6XONLR38enU+BUfqSE8K41++NYVg\nf2+7Y4kMSSqKRERE+tme4lre//w4UaF+fPu6iZpLJANqTEwwj6+YSkyYPx/sKuPZ9Qfo6u6xO5aI\nSJ85WdfKylV5HKtqZnZ6DD+8bRI+3h52xxIZslQUiYiI9KPaxjZe2FiIl6eTh5am4eejuUQy8CJG\n+PHY3VOZkDCC3EPVPLFmDy1tXXbHEhG5bKWVjfxyVR61je3cdOVovnP9RDyc+jVX5HJoBYmIiPST\n7h4Xz6w7wOn2bu5aOIHEKM0lEvsE+nnxT3dMZnpyJCXljaxclUd1Q5vdsURELtmeklqeWJ3P6fYu\nvn2dwdLZY3XUrkgfUFEkIiLST17fWsqRE03MTI1idnqM3XFE8PJ08r2bUrl+RiJVda2sfDmXw5VN\ndscSEblo2/dU8Ps39wHww9vSmTtZ8/9E+oqKIhERkX6QZ1azKbeMmDB/Vlxr6B1OGTScDge3zxvH\nikUTaGnr4terd5NfXGN3LBGRC2JZFus+OsxL75sE+Hrxz3dOYfK4cLtjiQwrKopERET6WHVDG39+\n9xDenk4eXpqGr7fmEsngMz8znh/elg4OeOqt/WzJK7c7kojIN+pxuXjxvUNs2HmU8BBffr5iKkmx\nIXbHEhl2VBSJiIj0oa7uHp5ZW0BbRzcrrjWIiwi0O5LIOU0eF85P78wkyM+LVzYV8dqHJbgsy+5Y\nIiJ/p6Ozh9+/uZ+P9p1gVHQQj98zjeiR/nbHEhmWVBSJiIj0oTUflnCsqpmrJsVw5STNJZLBb0xM\nMI/fM42YMH/e33WcZ9cfoKu7x+5YIiJfajrdya9f3c2+0lOkjRnJT++cQkiAt92xRIYtFUUiIiJ9\nZNfBKrburiAuIoC7Fk2wO47IBYsY4cdjd09lQnwIuYeqeWLNHlrauuyOJSJCdX0rv/xrHkdONHNl\nWjSPLEvXKd0i/UxFkYiISB+oqmvlxfcO4ePlwcNL0/Dx8rA7kshFCfTz4p/+YTLTkyMpKW9k5ao8\nqhva7I4lIm7syImmM9+L6ttYPGsU996YjKeHfoUV6W9aZSIiIpeps6uHp9cV0N7Zw7evM4gJC7A7\nksgl8fL04Hs3pXL9jESq6lpZ+XIuhyub7I4lIm5oX+kp/s/q3bS0dbFi0QRunZOkK4iKDBAVRSIi\nIpdp9eZiyqpbmDs5lhmp0XbHEbksToeD2+eNY8WiCbS0dfHr1bvJL66xO5aIuJGP9lXyuzf2YVnw\ng1smMT8z3u5IIm5FRZGIiMhl+PTASXbsrSQxMpA7rxlvdxyRPjM/M54f3pYODnjqrf1sySu3O5KI\nDHOWZbFh5xH+8u4h/Hw8+Od/mELmhAi7Y4m4HU0BExERuUQnTp3m5fdNfL09eOiWNLw8NZdIhpfJ\n48L56Z2Z/L/X9/LKpiI+3F2BZVk4HGeOPHI4wHHWn86v3gb4ms9/+Xi+cvur93/N9uEbtvd1tzn3\n/fTe/3e5L3j7/7MPTgdntneOv4e/3f759/XMdr/heS9iX/92mzp1RwanHpeLV7KL2LankrBgX35y\nR4ZO5RaxiYoiERGRS9DR1cPTawvo6OrhoaVpRIX62x1JpF+MiQnm8Xum8cI7hdQ2tdPdY2FZFpZ1\n5t1/V++fFvzN5y0LXL1/yuDg4XQw1YhgYVYCSbEhdscR+VJHVw9/XH+APSW1JEYG8uPlGYwI9LE7\nlojbUlEkIiJyCf6abVJRe5qrM+PImhhpdxyRfhUxwo+f3T2ViIggamqaL/rxXy2O/u42XymWzi6g\nviik4OsLqq/b3le2+3Vff87bfHH7K9s66/5z7sffbO9c+3r+3C7Ovn3ufQUu4O/hfx7f0NLJroPV\n7DpYTVJcMIuyEsmcEI6HU9MM4OBBAAAgAElEQVQoxD7NrZ387o19lFY2kTI6lB/cMgk/H/2aKmIn\nrUAREZGL9PG+E+zcf5JR0UHccbXmEomcz5enSKHTnuxkWRaHjtWTnVPG3tJTPFNRQFiwLwumxjMn\nIxZ/X/1qIAOrpqGN/3ptL1V1rcxIjeLeG5Lx9FBxKWI3vRqIiIhchPKaFv6abeLn48nDS9Pw8tQP\ntCIyNDgcDpJHjyR59EhO1rWyKbeMnftP8NrWEtbvPMLsSTFcMy2eSJ1KKwPg2Mlmnnx9L02nO7l+\nRiK3zU06MztMRGynokhEROQCtXd288y6Ajq7XfxgSSoRI/zsjiQickmiR/qzYpHBLbPHsmNvJVvy\nytmcV86WvHImjw/n2umJjI8P0fBr6RcFR07xh7UFdHb2cOc147lmWoLdkUTkLCqKRERELoBlWbz8\ngcmJU60sykpgqqHL9YrI0Bfo58UNM0axKCuB3EPVZOeUkV9cS35xLaOig1iUlUDWxEidDiR95pOC\nE/zl3UM4HA4eWprGNM35Exl0VBSJiIhcgB17K/nsQBVjY4NZNi/J7jgiIn3K08PJjNRorkiJori8\nkU05ZewuruH5twt5fWsJC6bGM3dyHIF+XnZHlSHKsize/ewYb24/jL+PJ48sS2dCwgi7Y4nI11BR\nJCIich7Hq5p5ZVMxAb6ePHhzqt5ZF5Fhy+FwMCFhBBMSRlDT0Mbm3HI+2lfJm9sP8/bOo8yaFMPC\nafHEhAXYHVWGEJfLYvXmIj7cXcHIYB8evT2DuIhAu2OJyDmoKBIREfkGbR3dPL2ugO4eFw/fkkZ4\niOYSiYh7iBjhx7euGc/S2WP4aG8lm/PK2ZZfwbb8CtKTwliYlUDKqFDNMZJv1NnVw3NvF7K7qIb4\niAAeXT6Z0CAfu2OJyDdQUSQiInIOlmXx4nuHqK5v4/orEpk8LtzuSCIiA87Px5NF0xNZMC2e/KJa\nsnPL2Fd6in2lp4iPCGDhtARmpEbh5elhd1QZZFrauvjdm/soKW9kYuII/vHWdPx99SuoyGB3QavU\nMIwngRmABfzINM2cs+67GfgF0AGsMU3zqd7P3wX8C9AN/KtpmhsNw5gD/BLoAk4DK0zTrO/D/RER\nEekzW/MryDlUzbj4EG6ZM9buOCIitvJwOpk2MZJpEyM5XNnEptwycg5W85f3DvHm9lLmTYljfmY8\nIQHedkeVQaC2sY0nX9vLiVOtTE+O5L4bU/Dy1KnbIkPBeVeqYRhzgfGmac4E7gN+d9Z9TuAp4AZg\nDrDEMIx4wzDCgH8DrgIWAzf3PuS/gPtM05wPfAJ8vw/3RUREpM8cPdnEmi3FBPp58eBNmkskInK2\nsbHBfP+mVH790EyuvyKR7h6LDTuP8s9P7+TP7x6kvLrF7ohio+NVzaxclffllUK/d1OqSiKRIeRC\njihaAKwDME3zoGEYoYZhBJum2QSEAw2madYAGIaxBbgGaAM2m6bZDDQD3+vdVi0Q1vtxKGD22Z6I\niIj0kdb2Lp5eW0B3j8UDS1IYGexrdyQRkUFpZLAvt88fx5IrR7Nz/0k255bx8b4TfLzvBCmjQ1mU\nlUDa2DCcmmPkNgqP1vHUW/tp7+zhH64ex6LpiXZHEpGLdCFFUTSQd9btmt7PNfV+HGQYxnjgKDAf\n2Nb7df6GYWzgTCH0v03T3AI8Cmw3DKMeqAce64N9EBER6TOWZfHndw9R29jO4lmjmDQ27PwPEhFx\nc77eniyYGs/8zDj2lZwiO+c4hUfrKTxaT/RIfxZmJTArLRofL80xGs4+O3CSFzYexOGAB29OZXpy\nlN2RROQSXMoksS/fDjBN0zIM49vAn4FG4MhZ94cBtwCjgK2GYYwCfg/cYprmTsMwfgM8zFmnsn1V\naKg/nhqKJ4NIRESQ3RFE3NpArMENO0rZXVRDWlIY9y9Nx0OnnIn8Db0WyvksjAxm4awxHK5oZP2O\nUnbkl7PqA5N1Hx3mupmjufHKMYTpCpKXbDCuQcuyWLutlL+8U4i/ryePf3c66eMi7I4l0m8G4zrs\nSxdSFFVy5giiL8QCJ764YZrmdmA2gGEYv+LMkUV+wCemaXYDpYZhNAMRQLppmjt7H7oJuOubnri+\nvvXC9kJkAEREBFFT02x3DBG3NRBrsLSykT+/fYBgfy/uvX4idXWn+/X5RIYavRbKxQjydnL3NeNZ\nMiORD3dXsDW/gte3FPPW1hKykiNZlJXA6Ohgu2MOKYNxDbosizVbitmcW05okA+P3p5BTIjvoMsp\n0lcG4zq8FN9Udl1IUZQN/DvwR8MwMoHK3tlDABiG8R7wbc5cxWwJ8H8BH+BFwzD+D2dOPQvkzHyi\nk4ZhpJimWQhkAcWXtEciIiJ9rKWti2fXFeByWXzvplRGBPrYHUlEZFgICfThljljuXHmKD4rrCI7\np4zPDlTx2YEqJsSHsGh6IpPHheN0ao7RUNPV3cPz7xwk91A1seEB/GR5hub6iQwD5y2KTNP8xDCM\nPMMwPgFcwA8Mw/gO0Gia5lrgec6USRbwK9M0awEMw3gD+Kx3Mz80TdNlGMaDwPOGYXQBdcC9fb5H\nIiIiF8myLP688SCnmjq4+aoxpIweaXckEZFhx9vLgzkZscxOj+HAkTqyc8ooOFJHUfl+Ikb4cs20\nBK6aFIOfz6VMx5CBdrq9i9+/uZ+isgYmxIfww2XpBPh62R1LRPqAw7IsuzOcU01N8+ANJ25nuBxi\nKDJU9ecafP/z47y2tYSU0aH8ZPlkvastcg56LZS+VlF7mk05ZXx64CRd3S78fM6USQumxhOuOUZ/\nZ7Cswbqmdp58bS8VtaeZZkTwwJIUvDRbVtzEYFmHlysiIuicP/CqrhcREbdWXN7AG9tKCQnw5oEl\nqSqJREQGUFx4AN+5fiK3zh3L9vwKPtxdwQe7ytiUU06mEcGirATGxYXYHVPOUl7dwpOv76W+uYMF\nU+P51oLxeu0UGWZUFImIiNtqbu3k2fUHsLB48OZUQgK87Y4kIuKWgv29WXLlGK67YhS7DlaxKaeM\n3EPV5B6qZmxsMIuyEphqRODh1JUo7XToWD2/f2s/bR3d3D4/ieumJ+JwqCQSGW5UFImIiFtyWRbP\nv1NIfXMHt84Zi5EYanckERG35+Xp5MpJMcxKi8Y83kB2Thl7S2p5dv0BRgb7sGBqPHMzYvHXLJwB\nt+tgFX96pxDLggeWpDAzNfr8DxKRIUlFkYiIuKX3PjtGweE60saO5IaZo+yOIyIiZ3E4HEwcFcrE\nUaFU1bWyObecj/ef4PWtpWz4+ChXTYrhmqx4okL97Y7qFrJzyvjvLcX4eHvwg1snkaqLPogMayqK\nRETE7ZjH63lrx2FCg3x4YHEKTh02LyIyaEWN9OeuRRNYOmcMO/ZUsjmvnC27y/lwdzmTx4ezKCuB\nCQkjdApUP3BZFq9vLeGDXWWEBHjz6PIMEqOC7I4lIv1MRZGIiLiVxtOdPLvhAA4cPHhzKkH+mksk\nIjIUBPh6cf2MUSzMSiDPrCE7p4z84lryi2tJjApkUVYC05Oj8PTQHKO+0NXt4oWNhew6WE30SH9+\nsjyD8BG6Ep2IO1BRJCIibsPlsnj+7QM0tnRy+/wkxsePsDuSiIhcJE8PJ1ekRDE9OZLSiiayc46T\nV1TDn945yOvbSrk6M555k2P1RsBlaG3v5qm39nHoeAPj4kJ4ZFk6gX6aCyXiLlQUiYiI23jnk6MU\nHq0nIymMa6cn2h1HREQug8PhYFx8COPiJ1Hb0MbmvHI+2lfJ2h2HeeeTo8xKi2bhtARiwwPsjjqk\n1Dd38ORreymvaWHK+HC+f1Mq3l4edscSkQGkokhERNxC4dE61n98hLBgH+7TXCIRkWElfIQf/7Bg\nPDdfNYaP951gU24Z2/dUsn1PJWljR7IoK4HU0SM1x+g8KmpP89vX9nCqqYP5U+K4a+EEnE79nYm4\nGxVFIiIy7DW0dPDchgM4nQ4eXJqmw+dFRIYpPx9PFmYlsGBqPPnFZ+YYFRyuo+BwHXHhASzMSmBm\nahRenjpC5quKyhr43Rv7aO3o5tY5Y7lx5igVayJuSkWRiIgMaz0uF39cf4Cm1i7+YcF4kmJD7I4k\nIiL9zOl0MNWIZKoRyZETTWzKKSPnUDUvvneIN7eXMn9KHPMz4wkJ0BwjgDyzmj9uKMSyLO67MZkr\nJ8XYHUlEbKSiSEREhrX1Hx/BLGsgc0IEC6fF2x1HREQG2JiYYL53Uyq3zx/Hlrxytu+pYMPOo7z7\n2TGuSIli4bQEt77k+5a8clZvKsLby4Mf3DKJtLFhdkcSEZupKBIRkWGr4PApNn5yjPAQX+69YaIO\noRcRcWOhQT4sm5fEklmj+aTgBNm55ezcf5Kd+0+SPCqUhVkJpCeFuc0MO8uyeHP7Yd797BjB/l78\neHkGo6OD7Y4lIoOAiiIRERmW6praee7tQjw8HDx8Sxr+vppLJCIi4OPtwfzMeOZOiWN/6Smyc8o4\neKyeg8fqiRrpz8Jp8VyZFoOP9/CdY9Td4+Iv7x7i0wMniQr149E7JhM5ws/uWCIySKgoEhGRYae7\nx8UfNxygpa2LuxZO0DukIiLyd5wOBxnjwskYF05ZdQubcsr4rPAkf80uYu2Ow8yZHMuCzHhGBvva\nHbVPtXV08/Ta/Rw4Ws/Y2GAeWZZOsL9mNYnI/1BRJCIiw87aHYcpLm9k2sRIrs6MszuOiIgMcgmR\ngdx7YzK3zUti6+5ytuZX8N5nx8neVca0iZEsykpgTMzQf9OhoaWD376+l+NVLWQkhfHg0jR8vIbv\nkVMicmlUFImIyLCyp6SW9z4/TmSoH9+9XnOJRETkwoUEeLN09plLw396oIpNOWV8XljF54VVjIsP\nYdG0BDInROB0Dr3XlhOnTvPka3upbWxnTkYsK66dgIfTaXcsERmEVBSJiMiwcaqxnRfeKcTTw8nD\nS9Pw89HLnIiIXDwvTw/mZMQyOz2GwqP1ZOeUsf/wKUrKGwkP8eWaaQnMTo8ZMq8zJRWN/L/X93K6\nvZulV41hyZWj9UaKiJzT0PjOJiIich7dPS6eXV/A6fZu7rnOcOtLHYuISN9wOBykjhlJ6piRVNae\nZnNuGZ8UnGTNlmLWfXSYORmxXDM1nvBBPAg6v6iGZzccoKfH4jvXT2RORqzdkURkkFNRJCIiw8Ib\n20oprWxiRkoUc/VDsIiI9LHY8ADuuW4it85NYlt+BVt2l5OdU8am3DIyJ0SwKCuBcXEhg+pInW35\nFazKNvHydPLD2yaRMS7c7kgiMgSoKBIRkSFvd1EN2TllxIT5c891xqD6IV1ERIaXQD8vFs8azXVX\nJJJzsJoPco6TZ9aQZ9YwJiaIhVkJTDMi8fSwb/6PZVms/egI73xylEA/L358ewZjY4f+MG4RGRgq\nikREZEiraWjjhY0H8fZ08tDSNHy99dImIiL9z9PDycy0aGakRlFU1kB2Thl7imt5bkMhrweVsmBq\nPHMnxxLg6zWgubp7XLz0/iF27j9JxAhffnLHZKJC/Qc0g4gMbfppWkREhqyubhfPrCugraOb794w\nkfiIQLsjiYiIm3E4HBiJoRiJoVTVt7I5t5yP953gjW2lbNh5hKsmxbBwWgJRI/u/rGnv7ObpdQUU\nHK5jdHQQP7o9g5AA735/XhEZXlQUiYjIkPXahyUcPdnMlZOimZ2uuUQiImKvqFB/7lo4gVtmj2HH\n3hNsySvjw90VbN1dQca4cBZmJTAxcUS/nCLdeLqT376+l2Mnm5k0NoyHlqbqKFsRuST6ziEiIkNS\nzqFqtuwuJy48gLsXGXbHERER+ZK/rxfXXZHIwqx48swaNuWUsaeklj0ltSREBrIoK4HpyVF4efbN\nHKOqulb+67U91DS0c9WkGO65zrB1RpKIDG0qikREZMipqm/lL+8exMfLg4eWpuHj5WF3JBERkb/j\n4XQyPTmK6clRlFY0kp1TRp5ZwwsbD/LGtlLmZ8Yxb0ocwf6XfnrY4comfvv6XlraulgyazRLZ4/R\nRR1E5LKoKBIRkSGlq7uHZ9YW0N7ZwwOLU4gND7A7koiIyHklxYXwUFwItY1tfJhXwfa9laz76Agb\nPz3GzNQoFk5LIO4iZ+3tLanlmfUFdHW7uOdag3lT4vopvYi4ExVFIiIypLy6uZjj1S3MyYhlZlq0\n3XFEREQuSniIH8uvHseSK0ezc/8JNueWs2PvCXbsPUHqmJEsykogbczI8x4VtGNvJS+/b+Lp4eAf\nb53ElPERA7QHIjLcqSgSEZEh47PCk2zbU0lCZCB3XjPe7jgiIiKXzM/Hk2umJXB1Zjx7S2r5IKeM\nA0fqOHCkjpgwfxZmJTArNRrvr5xebVkWG3YeZf3HRwj08+KRZemMiwuxaS9EZDhSUTQAXJaFZVl4\nODVQTkTkUpVVNfPSeyY+3mfmEn31B2cREZGhyOl0MGVCBFMmRHDsZDPZOcfZdbCal983eWv7YeZN\niePqzDhGBPrQ0+PipfcPsWPvCcJDfHl0eQYxYToFW0T6lsOyLLsznFNNTfPgDXcRXt9awpa8cmal\nRbMwK0HfzIeoiIggamqa7Y4h4pY6unr4z1d2c+xkMw/enMr05Ci7I4m4Jb0WigyM+uYOPtxdzrb8\nCk63d+PhdHBFShSdPRa5B6tIjArk0dszCAn0sTuqiNsZLq+FERFB5zy/VUXRADhwtI6X3jtEbWM7\nAJPGhrEoK4GU0aG6IsEQMly+IYgMNa3t3Ty9bj+FR+uZnxnHikWG3ZFE3JZeC0UGVkdXD58WnGRT\nbhknTrUCkDo6lIdvmYSfj04OEbHDcHktVFE0CLhcFruLasjOLaOkvBGAuIgAFk5LYGZqFF6eOoVi\nsBsu3xBEhpJTje389o29VNScZnpKNPfdYOj7pYiN9FooYg+XZVFwuI6Wzh6mTwjH00MjLUTsMlxe\nC1UUDTJHTjSRnVNG7qFqelwWQf5ezJ8Sx/zMeEICvO2OJ+cwXL4hiAwVx04289s39tLY0smCzHh+\n+K1M6k612B1LxK3ptVDEXlqDIvYbLutQRdEgVdfUzpbd5ezYU8np9m48Pc6ce7woK5GEyEC748lX\nDJdvCCJDwd6SWp5df4DOrh7uWDCehdPiiYwM1hoUsZleC0XspTUoYr/hsg6/qSjSia02Ghnsy+3z\nxnHTrDF8UnCC7Nxydu4/yc79J0keFcrCrATSk8Jwao6RiLiRrbvL+eumIjw9nDx8SxpTjUi7I4mI\niIiIuA0VRYOAj7cH8zPjmTsljv2lp8jOKePgsXoOHqsnaqQ/C6fFc2VaDD7emsshIsOXy7J4Y2sp\n7+86TpC/F48sSycpNsTuWCIiIiIibkVF0SDidDjIGBdOxrhwyqpb2JRTxmeFJ/lrdhFrdxxmzuRY\nFmTGMzLY1+6oIiJ9qrOrh+ffKSTPrCF6pD8/Xp5B5Ag/u2OJiIiIiLgdzSga5BpPd7J1dzlb8yto\nbu3Cw+lg2sRIFmUlMCYm2O54bmW4nIsqMtg0tXby+zf2UVrZxISEEfzjrZMI9PP6u6/TGhSxn9ah\niL20BkXsN1zWoWYUDWEhAd4snT2WG2eO4tMDVWzKKePzwio+L6xiXHwIi6YlkDkhAqdTc4xEZOg5\nWdfKk6/toaahnRmpUXz3+mS8PHXJXxERERERu6goGiK8PD2YkxHL7PQYCo/Wk51Txv7DpygpbyQ8\nxJdrpsYzOyMWPx/9LxWRoaGorIHfv7mP0+3dLJ41mltmj8Gh4f0iIiIiIrZSqzDEOBwOUseMJHXM\nSCprT7M5t4xPCk6y5sMS1n18hNnpsVwzLZ4IzfYQkUHs88IqXthYiGXBd6+fyOyMWLsjiYiIiIgI\nmlE0LLS0dbEtv4Itu8tpbOnE4YDM8REszEpgfHyI3qHvI8PlXFQRO1mWxbufHePN7Yfx8/Hg4aWT\nSB0z8oIeqzUoYj+tQxF7aQ2K2G+4rEPNKBrmAv28WDxrNNddkUjOwWqyc8rIK6ohr6iG0dFBLMpK\nYNrESDw9NPdDROzT3ePir9kmO/aeYGSwDz9elkF8ZKDdsURERERE5CwqioYRTw8nM9OimZEaRVFZ\nA9k5ZewpruW5twt5fVspV2fGMXdy3NdeTUhEpD+1dXTz9LoCDhypIzEqkB8tyyA0yMfuWCIiIiIi\n8hUqioYhh8OBkRiKkRhKdX0rm3PL+Wj/Cd7cfpi3PznKlWkxLMxKIHqkv91RRcQN1DW189vX91Je\nc5r0pDAevDkVX2+9/IiIiIiIDEb6SX2Yiwz1586FE1g6eyw79layJa+MrfkVbM2vID0pjEVZCSSP\nCtUcIxHpF8ermvnt63tpaOlk/pQ47lw4Hg+nToMVERERERmsVBS5CX9fT667IpGFWfHsLqolO+c4\n+0pPsa/0FPERgSzMimdGSjRenvoFTkT6xr7SUzyzvoCOzh6Wzx/HtdMTVEqLiIiIiAxyF1QUGYbx\nJDADsIAfmaaZc9Z9NwO/ADqANaZpPtX7+buAfwG6gX81TXOjYRhewEvAOKAZWGaaZn0f7o+ch4fT\nSdbESLImRlJa2cimnDJyD9Xwl3cP8ea2UuZnxjN/ShzBAd52RxWRIWzbngr++kERHh4OHl6axrSJ\nkXZHEhERERGRC3DeosgwjLnAeNM0ZxqGkQz8GZjZe58TeArIBE4B7xmGsQ5oA/4NmAoEAv8ObAQe\nAGpM07zTMIzvAbOBDX2+V3JBkmJDSLo5hFPz2tmyu5zteypZ//ERNn56jBmpUSzKSiA+QlckEpEL\n57Is3txWynufHyfQz4tHlqUzLi7E7lgiIiIiInKBLuSIogXAOgDTNA8ahhFqGEawaZpNQDjQYJpm\nDYBhGFuAazhTFG02TbOZM0cOfa93W0s4UyBhmuZzfboncsnCQnxZPn8cN105mp37T7Ipt4yP953g\n430nSBkdyqKsBNLGhuHUKSMi8g26unt4/p2D5B6qJirUj0eXZxAZqqH5IiIiIiJDicOyrG/8AsMw\nngM2mqa5vvf2R8B9pmkWGYbhAI4AC4GjnDk6aFvvQ5OBkUAo8L9N09xiGMZBYA0wHzgJPGyaZt25\nnru7u8fy9PS49L2TS+JyWeQUnmT9jsPsL60FID4ykJtmj2X+tARdrUhE/k5jSwcr/7KLg0frSBkz\nkse/e4VOYRURERERGbzOeSTIpfzG/+XGTNO0DMP4NmdOR2vkTGn0xf1hwC3AKGCrYRijeu8zTdP8\nd8MwfgE8BvzzuZ6ovr71EuJJXxgbFcijt6dzvKqZ7JwyPi+s4uk39/HSxkLmTYnj6sx4QoN87I45\noCIigqipabY7hsigU1XXypOv76W6vo3pyZHcd2MyHa0d1LR29OnzaA2K2E/rUMReWoMi9hsu6zAi\nIuic911IUVQJRJ91OxY48cUN0zS3c2bWEIZh/IozRxb5AZ+YptkNlBqG0QxEAFXA9t6HfsCZ2UUy\niCVGBXH/4hSWzUviw90VbMuvYOOnx3j/8+NkJUf+/+3deXCV933v8ffRLiEJSUhoZ4eHXSzCZjGL\njSC2YztesHvbtEnTNF3iuKZ37tyZdnqb9t7OzXQ6bZyt2ZraSbfU4CVeYseI1WwBsQgQ8LBjSQiQ\n2Pf13D+k9jop2MSWeMTR+/WXdCSd89EMX4nno9/v9zB3UiUDSnKjjikpIrubTvKNl7Zy9sIVPjml\nP4/NGOQ2VUmSJOkOditF0Tu0FzrfDYJgAnCo4+whAIIgeAv4LHCO9jOI/hZIB14IguCvad96lg20\nAW8B9wPP037Qddh534q6Ul52Oo/PGMRDU/qzpuEwi+qaWNtwhLUNRxhW0Zu5d/Vj3JBCkpK8QJR6\ninU7jvAPb+zg+vU4v/3AcGZUlUUdSZIkSdLH9KFFURiGq4Mg2BAEwWrgOvB0EAS/DZwKw/AV4Pu0\nl0lx4CthGLYBBEGwEFjb8TTPhGF4PQiCrwM/DILg88BZ2gsm3UHSUpOZOa6cGVVlNOw/zjvrG9m2\n/zi7mrZSlJdBTXUl94wpJTPdc4ykRBWPx3n75++xYNleMtKS+eITYxg9qE/UsSRJkiR1gg89zDpK\nra1num84/afmtnMsWt/ImobDXLl6ncz0ZGZUlTF7YgWFvTOjjtdpEmUvqvRxXLt+nX95ZxfLNh8i\nPyedZ+eNpV/xzfc3dyZnUIqecyhFyxmUopcoc1hUlHPT7UAWReo0p89fZvmmZpZsbObUucvEYjAx\naD/HaEh576jjfWyJ8gNB+qguXLrKt3+yjW37jlPZN5v5T1bd1kPtnUEpes6hFC1nUIpeoszhBxVF\n7g9Sp8nNSuPhaQO5/+7+rNtxhEXrG6nbeZS6nUcZVJbLnOpKJgZFpCQnRR1V0q/oxJlLPLegnsaj\nZxk9qIA//NRot5hKkiRJCcj/5avTpaYkMW1MKVNHlxC+d5J31jdSv6eN777WQEFuOrMnVDBjXBm9\nMlKjjirpFjQePctzC+o5ceYSs8aV8em5w0hOsvCVJEmSEpFFkbpMLBZjeP98hvfP58jx89TWNbFy\nawsLlu3ltVUHmDamhDnVlRQXZEUdVdJNbNt3jL9/dRsXL1/jyVmDuf/ufsRi3t1QkiRJSlQWRbot\niguy+PTcYTw6YyAr6g+xeEMTSzY2s3RjM1VDCpkzqZLh/fK8AJW6kRX1h/jR2yFJSTH+4FOjuGtE\ncdSRJEmSJHUxiyLdVr0yUnng7v7Mqa5k465W3lnfyOY9bWze00a/vtnMmVTJXSOKSU1xW4sUlevx\nOK+s2Mebaw6SnZnKM0+MYWhFXtSxJEmSJN0GFkWKREpyEneNKOauEcXsaT7FO+sb2RAe5Qdv7mDh\nsr3cO6GcWePLyc1Kizqq1KNcuXqNH7y5g3U7jtI3P5M/frLK7aGSJElSD2JRpMgNKe/NkPLetJ26\nwOINTayoP8Sr7+7nzTUHmTKqhDmTKikv7BV1TCnhnb1whW+8tIXdTacYUt6bZ54YQ45lrSRJktSj\nWBSp2yjsncmv3TeUR7XOj6cAABk/SURBVKYNZOXWFmrrGllRf4gV9YcYPbCAuZMqGTWwwHOMpC5w\n9MR5vvpiPUdOXGDS8L787kMjSE1JjjqWJEmSpNvMokjdTmZ6CnOqK5k9oYLNe9p4Z30j2/YfZ9v+\n45QV9mJOdQVTRpWQlupFrNQZ9jSf4usLt3D2whUemNyPJ2YOJslCVpIkSeqRLIrUbSUlxZgwrIgJ\nw4o4ePgM76x/j3U7jvLDt0NeWr6PWePLuW9COXnZ6VFHle5YdTuP8v03tnPtWpzPfCJg1vjyqCNJ\nkiRJilAsHo9HneGmWlvPdN9wisSJM5dYsrGJZZuaOXfxKslJMe4eWczcSZX0K87p0tcuKsqhtfVM\nl76GdLvE43F+tq6RBUv3kJaWzB9+ajRjB/eJOtYHcgal6DmHUrScQSl6iTKHRUU5N91C4Ioi3VHy\nc9J5YuZgHpo6gDXbDrOorpHV2w6zetthhvfLY86kSqqGFLptRvoA165f519rd7N0YzN52WnMf7Kq\ny4tWSZIkSXcGiyLdkdJTk5k1vpwZ48rYtu84i9a/R8OBE+x87yR98zOZU13JtDElZKT5T1x6v4uX\nr/KdnzSwZe8xKoqymf/kWApyM6KOJUmSJKmb8Cpad7SkWIyxg/swdnAfmlrPsmh9I2sajvAvi3bx\nyop9zBhXRs3ECi+EJdq3bn5tYT3vHTnL6IEF/OGjo8lM99eAJEmSpP/PM4qUcE6fu8yyTc0s2dTM\n6XOXSYrFqB5exJxJlQwu6/2RnzdR9qKqZ2o6epbnFtZz/PQlZlSV8ptzA1KSk6KO9StxBqXoOYdS\ntJxBKXqJMoeeUaQeJbdXGo/cM5AHJvfn59uP8M76RtbtOMq6HUcZXJ7L3En9mDCskOSkO+siWfqo\nGg4c5+9f2cqFS9d4YuYgHpzcn5jneEmSJEm6AYsiJazUlCTuGVvKtDEl7Dx4gnfWN1K/9xjfbt5G\nn9wMZk+sYEZVGVkZjoES17v1h/jRz0JiMfj9R0Zx98jiqCNJkiRJ6sa8QlbCi8VijBhQwIgBBRw+\nfp5FdY2s2trCi0v38JNV+5k+ppSa6gr65mdFHVXqNPF4nFfe3c8bqw/QKyOFZ54Yy7DKvKhjSZIk\nSermLIrUo5QUZPFbcwMemz6IFfWHWLyhidoNTSze0MS4oYXMnVTJsMo8t+Xojnbl6nWef2sHaxuO\nUJSXwfwnqyjt0yvqWJIkSZLuABZF6pGyM1N5cHJ/5k6qpC48yqL1jWza3cam3W30L85h7qRKJo3o\ne8cd9iudvXCFb768lV2NJxlclssz88aSm5UWdSxJkiRJdwiLIvVoKclJTB5Zwt0jitnTfIp31jey\ncVcr339jOwuW7eG+CRXMGl9OdmZq1FGlD3X05AWee7Gew8fPMzEo4gsPjSQtNTnqWJIkSZLuIBZF\nEu3nGA2tyGNoRR6tJy+weEMTK+oP8fKKfbyx+gBTR5fw1NzhZLjASN3U3kOn+PrCLZw5f4X77+7H\nvFmDSXILpSRJkqRfUSwej0ed4aZaW89033BKeBcuXeXdLS3U1jXSduoiAKMHFlBTXcnoQQVehKvb\n2BC28r3XG7h67TqfnjOM+yZURB2pSxQV5dDaeibqGFKP5hxK0XIGpeglyhwWFeXc9ILWFUXSTWSm\npzB3UiU1EyvYtLuVZfUtbNt3jG37j1NckEXNxAqmjSkhI80xUjTi8TiL1jfy70v2kJaazB89MZaq\nIYVRx5IkSZJ0B3NFkXSLiopyqNt6iNoNjfx8+xGuXouTmZ7C9LGlzJ5YQVFeZtQR1YNcvx7n3xbv\nZvGGJnpnpzF/XhX9S3KijtWlEuWvN9KdzDmUouUMStFLlDn8oBVFFkXSLXr/D4TT5y6zbHMzSzc2\nc+rcZWIxGDekkDnVlQT98oi5LU1d6NLla3z3tQY272mjvKgX8+dV0ad3RtSxulyi/FKW7mTOoRQt\nZ1CKXqLMoVvPpE6W2yuNR6YN5MHJ/Vm/4yiL6hrZtLuNTbvbqOybTc3ECiaPKiY1xTtOqXOdPHuJ\nry3cwsHDZxg5IJ8vPjqGrAx/lEuSJEnqHF5dSB9DSnISU0aXMHlUMXubT7OorpENYSvPv7WTBcv2\nMmt8GfeOryA/Jz3qqEoAza1neW5BPcdOX+KesaV85hMBKcneik+SJElS57EokjpBLBZjSEVvhlT0\n5vjpiyzZ2Mzyzc28sfogb619j+rhfamprmBwWe+oo+oOtePAcb75yjYuXLrKYzMG8dCU/m5xlCRJ\nktTpLIqkTlaQm8G8WYN5eNoA1jYcprauiZ9vP8LPtx9hUFkuNdUVVAd9XQmiW7ZqawsvvLWTWAy+\n8PBIpowqiTqSJEmSpARlUSR1kfTUZGaOK2dGVRk7Dp6gtq6J+j1tfO+17byYvYf7JlQwc1wZOVlp\nUUdVNxWPx/nJyv28tuoAvTJS+NLjYwj65UcdS5IkSVICsyiSulgsFmPkgAJGDijgyInzLN7QxMot\nLby8Yh+vrz7A5JHFzKmupKJvdtRR1Y1cvXad53+6kzUNhynsncEfP1VFaZ9eUceSJEmSlOAsiqTb\nqDg/i9+oGcZj0wexcmsLi+uaeHdLC+9uaWF4vzzmVFdSNaSQpCTPnunJzl28wrde3srO904ysDSX\nZ+eNJbeXK88kSZIkdT2LIikCmekpzKmuZPbECrbsPUZtXSPbD5xg53snKcrLYPaECu4ZW+Ztz3ug\ntpMX+OqCelqOnWfCsCK+8PBI0lOTo44lSZIkqYfwKlSKUFIsxrghhYwbUkhT61lq65pY03CYHy/Z\nwysr93PP6FJmV1dQUpAVdVTdBvtbTvO1BfWcPn+FuZMqeereIa4ukyRJknRbxeLxeNQZbqq19Uz3\nDacep6goh9bWM13+OmcvXGH55maWbGzmxJlLAIwd3Iea6gpGDSjwlugJatOuVr77WgNXrl3nN2qG\nMXtiRdSRup3bNYOSbs45lKLlDErRS5Q5LCrKuemFpSuKpG4mOzOVT04ZwCfu6sfGXa3U1jWxZe8x\ntuw9RmmfLGqqK5k6qoT0NLcjJYpFdY38uHY3qalJPPP4WMYNLYw6kiRJkqQeyqJI6qZSkpO4a0Qx\nd40oZn/LaWrrGlm34yj/9LOQl5fvZXpVGbMnVNCnd0bUUfURXb8e58dLdlNb10TvXmk8++RYBpTk\nRh1LkiRJUg/m1jPpFnWHJYYnz15i2aZmlm1q5vT5K8RiMHFYETXVlQyt6O22tDvIpSvX+N5rDWza\n3UZZYS/mPzmWwt6ZUcfq1rrDDEo9nXMoRcsZlKKXKHPo1jMpQeRlp/Po9EF8ckp/1u04yqK6RurC\nVurCVvoX51BTXcFdI4pJTUmKOqo+wKlzl/n6wnr2t5xhRP98nn5sNFkZqVHHkiRJkiSLIulOlJqS\nzLQxpUwdXcKuxpPU1jWxcXcrP3hzBwuW7mHW+HLuHV9O7+z0qKPqlxxqO8dzC+ppO3WRaWNK+Oz9\nw0lJttiTJEmS1D1YFEl3sFgsRtAvn6BfPm0nL7BkYzMr6g/x2qoDvLnmIHeNKGbOpArPvekmdhw8\nwbde3sr5S1d5dPpAHp46wO2CkiRJkroViyIpQRTmZfLUfUP41D0DWb2thdoNTaxpOMyahsMMqejN\nnOpKJgwrJDnJ1StRWL2thed/uhOA331oBFNHl0acSJIkSZL+K4siKcGkpyVz74QKZo4vZ/v+4yyq\na2LrvmPsaTpFQW46902oYEZVGdmZnolzO8TjcV5fdYBXV+4nMz2FLz0+hhH986OOJUmSJEk3ZFEk\nJaikWIzRg/owelAfWo6dY/GGJlZtPczCZXt5beV+powuoWZiBeVF2VFHTVhXr13nh2/vZNXWw/TJ\nzWD+U1WUF/aKOpYkSZIk3ZRFkdQDlPbpxW/ODXh8xiDe3dLC4g1NLN98iOWbDzFyQD411ZWMHdyH\nJM/L6TTnL17hW69sY8fBEwwoyeHZeWM9XFySJElSt3dLRVEQBF8FJgNx4NkwDNe/72OfAv4MuAT8\nOAzDb3Y8/mngfwJXgT8Pw/DN933NJ4C3wzD0qlS6jbIyUvnEXf2YU13J5j1t1NY1sv3ACbYfOEHf\n/ExmT6zgnjGlZKbbIX8cbacu8LUFW2huO8f4oYX83sOjSE9LjjqWJEmSJH2oD70aDIJgJjA0DMMp\nQRCMAP4RmNLxsSTgm8AE4BjwVhAErwIXgC8DE4Fs4C+BNzu+JgP4E6Cl078bSbckKSnGhGFFTBhW\nxHtHzlC7oYm1DUf4t9rdvLJiH/eMLaVmYgV987OijnrH2d9ymq8v3MKpc5epqa7gv903lKQkO3FJ\nkiRJd4ZbWTYwG3gVIAzDHUEQ5AdBkBuG4WmgEDgZhmErQBAEi4Ea2oui2jAMzwBngN973/P9KfAt\n4G8679uQ9FH1K87hdx4cwbxZg1m+qZklm5qprWticV0TVUMKmVNdwfD++d7G/RZs3t3Gd17bxpUr\n1/n12UOZM6ky6kiSJEmS9Cu5laKoBNjwvvdbOx473fF2ThAEQ4EDwL3Aso7PywqC4DUgH/iLMAwX\nB0EwDKgKw/DPgyCwKJK6kdysNB6eNpAHJvenbudRFtU1sXlPG5v3tFFe1Is51ZVMHllMWqpbqG5k\n8YYm/rV2F6nJSXzp8TGMH1YUdSRJkiRJ+pV9lINI/nNZQRiG8SAIPkv7drRTwP73fbwP8BjQH1ga\nBEF/4KvAH93qC+XnZ5GS4kWpuo+iopyoI9wWD5f05uFZQ9l58Divr9jHqi2HeOGtnby0fB/3T+nP\ng1MHUpiXGXXMbuH69TjPv9HAq8v3kpedzv/6/N0M65cfdayE1VNmUOrOnEMpWs6gFL1En8NYPB7/\nwE8IguAvgJYwDL/b8f4+2lcFnbnB534FqAcygZIwDL/S8XgD8CCwhPZVSADjgbVhGM682Wu3tp75\n4HDSbVRUlENr63/5Z98jnDhziSUb2++UdvbCFZJiMaqHF1FTXcngstweuy3t0pVr/MPr29mwq5XS\nPlnMf7KKIgu0LtOTZ1DqLpxDKVrOoBS9RJnDoqKcm17E3cqKondoP4z6u0EQTAAOvb8kCoLgLeCz\nwDngYeBvgXTghSAI/pr2rWfZQGMYhoPf93UHPqgkktR95Oek88TMwTw8dQBrtx+htq6RdTuOsm7H\nUQaW5lBTXcmk4X1JSU6KOuptc/rcZb7+0hb2HTrN8H55PP34GHplpEYdS5IkSZI+lg8tisIwXB0E\nwYYgCFYD14GngyD4beBUGIavAN+nvUyKA18Jw7ANIAiChcDajqd5JgzD613xDUi6fdJSk5lRVcb0\nsaXsfO8ki9Y3Ur+nje+/vp0Xl+7h3vHlzBpXTm6vtKijdqmWY+f46ov1tJ26yJRRJXzuweE9qiST\nJEmSlLg+dOtZlNx6pu4kUZYYdrajJ86zeEMzK7ce4sKla6QkJ3H3yL7Mqa6kX3Hi7d0N3zvBN1/e\nyrmLV3lk2gA+dc/AHrv17nZzBqXoOYdStJxBKXqJMocfd+uZJN1U3/wsfr1mKI9OH8iqrS0s3tDE\nqq2HWbX1MMMq85hTXcH4oUUkJd35ZcrahsP84093EI/D5z85gmljSqOOJEmSJEmdyqJIUqfITE+h\nprqS+yZWsHXvMWrrGmk4cIJdjSfpk5vB7IkVzKgqJesOPMcnHo/zxpqDvLJiH5npKTz92GhGDiiI\nOpYkSZIkdTqLIkmdKikWo2pIIVVDCmluO8fiukZWbzvMi0v38OrKfUwbXUpNdQWlfXpFHfWWXL12\nnR/9LGTllhb65KYz/8kqyouyo44lSZIkSV3CokhSlykv7MVn7h/O4zMH8279IRZvbGLppmaWbmpm\n9MACaqorGT2ogKRuesbP+YtX+farW2k4cIL+xTk8++RY8rLTo44lSZIkSV3GokhSl8vOTOWByf2Z\ne1clm3a1saiukW37j7Nt/3FKCrKoqa5g6ugSMtK6z4+kY6cu8tzCeppbzzFuSCG/98jIbpVPkiRJ\nkrqCVz2SbpvkpCSqh/elenhfDhw+TW1dE+t2HOGf39nFS8v3MaOqlNkTKijMy4w058HDZ3huYT2n\nzl5m9oQKfr1maEIcxi1JkiRJHyYWj3ffO9C3tp7pvuHU4yTKbRC7m1NnL7F0UzPLNjVz+vwVYjEY\nP7SIOdUVDKvMu+23nq/f08Z3ftLA5SvX+LXZQ5lTXXHbM+jGnEEpes6hFC1nUIpeosxhUVHOTS9y\nXFEkKVK9s9N5dPogPjllAOt2HKG2romNu1rZuKuVyr7Z1FRXMHlkMakpyV2eZenGJv550S5SkpP4\n4mOjmRj07fLXlCRJkqTuxKJIUreQmpLEtDGlTB1dwu6mU9TWNbJhVyvP/3QnC5ftZea4cu4dX05+\nTucfJn09Hmfh0r28ve49crJS+aN5Yxlc1rvTX0eSJEmSujuLIkndSiwWY1hlHsMq8zh26iJLNjax\nov4Qb6w+wFtrDzJpeF9qqisZVJbbKa93+co1/uGN7dSFrZQUZDH/qSr6RnxGkiRJkiRFxaJIUrfV\np3cGT947hEemDWRNw2EW1TWydvsR1m4/wuCyXGqqK5kYFJGSnPSRnv/0+ct846Ut7G0+zbDKPL70\n+BiyM1M7+buQJEmSpDuHRZGkbi89LZlZ48uZOa6M7QdOsKiukS17j7H3tQbyc9K5t+NjOVlpt/yc\nh4+f57kX6zl68gKTRxbzuQdHkJry0QonSZIkSUoUFkWS7hixWIxRAwsYNbCAI8fPU7uhiZVbW3h5\nxT5eX32AKaOKqZlYSUXf7A98nl2NJ/nGS1s4d/EqD00dwGPTB3pnM0mSJEnCokjSHaq4IItPzxnG\nY9MHsXJrC4s3NLKivoUV9S2M6J9PTXUFVYMLSUr6xQLo59uP8IM3txOPw+ceGM70qrKIvgNJkiRJ\n6n4siiTd0bIyUpg7qZKaiRXU721j0fpGdhw8wY6DJyjKy2D2xEruGVNKZnoyP117kJeW7yMzPZkv\nPjqGUQMLoo4vSZIkSd2KRZGkhJCUFGP80CLGDy2i8ehZajsOvv7x4t288u4+BhTnEDaepCA3nfnz\nqj50e5okSZIk9UQWRZISTmXfbD734AjmzRrM8s2HWLKxibDxJP2Ks3l2XhX5OelRR5QkSZKkbsmi\nSFLCyslK46GpA7j/7n7saTrFwLJc0lOTo44lSZIkSd2WRZGkhJeSnMTw/vlRx5AkSZKkbi8p6gCS\nJEmSJEnqHiyKJEmSJEmSBFgUSZIkSZIkqYNFkSRJkiRJkgCLIkmSJEmSJHWwKJIkSZIkSRJgUSRJ\nkiRJkqQOFkWSJEmSJEkCLIokSZIkSZLUwaJIkiRJkiRJAMTi8XjUGSRJkiRJktQNuKJIkiRJkiRJ\ngEWRJEmSJEmSOlgUSZIkSZIkCbAokiRJkiRJUgeLIkmSJEmSJAEWRZIkSZIkSeqQEnUAqTsKgiAL\neAEoBjKA/wP8DPghMAQ4A8wLw/BEVBmlRHaTGTwN/F/gCnAO+C1nUOpaQRBkAtton8HFwD8ByUAL\n7TN4KcJ4Uo9wgzl8Hkil/ffhb4ZheDjCeFLCe/8MhmH4QsdjnwDeDsMwFmW2ruKKIunGHgbqwjCc\nCTwF/B3wBaA1DMO7gH8HpkeYT0p0N5rBvwM+H4bhvcBq4PcjzCf1FH8GHO94+38D3wrDcDqwB/id\nyFJJPcv75/CvgO91/H58BfjvkaWSeo73zyBBEGQAf0L7H00SkiuKpBsIw/Df3/duJdBE+4Xrlzs+\n/r0ockk9xU1m8DLQp+OxfCC83bmkniQIguHASODNjodmAX/Q8fbrwP8Avn37k0k9xw3m8IvAxY63\nW4EJUeSSeoobzCDAnwLfAv4mklC3gSuKpA8QBMFq4F+B+cAA4IEgCJYFQfDjIAgKIg0n9QC/NIN/\nDLwaBEFI+4q+FyKMJvUEf8svrlbo9b6tZkeB0tsfSepxfmEOwzA8F4bhtSAIkoGnaf8dKanr/MIM\nBkEwDKgKw3BBdJG6nkWR9AHCMJwKPAL8M+3zEoZhOIv2Pap/EmE0qUf4pRn8JvBYGIYBsJL2v6pK\n6gJBEHwGWBOG4f6bfEpCnskgdSc3m8OOkuifgCVhGC6OJJzUA9xkBr9KD9jy6dYz6QaCIJgIHA3D\nsDEMw81BEKQA14HlHZ/yM+AvIwsoJbibzOC9YRiu6viURcCno0soJbxPAoOCIHgIqAAuAWeDIMgM\nw/ACUA4cijKg1AP8lzkMgqAJ+AywOwxD/y8qda1fnsErtF8T/ksQBAClQRAs7zgzLKFYFEk3NgPo\nD8wPgqAYyAa+A9xP+50mJuL5KFJXutEMbguCYGQYhtuBScDuKANKiSwMw1/7j7eDIPgL4AAwFXiC\n9hV+TwBvR5FN6iluMofFwOUwDL8cUSypx7jRDP7HXc86HjuQiCURWBRJN/Md4AdBELwLZNK+B3wx\n8MMgCD4PnAU+G2E+KdHdaAaPAd8PguAK7Xee8I5L0u31ZeBHQRD8PnAQ+GHEeaSe6GkgIwiCZR3v\nbw/D0K3YkjpVLB6PR51BkiRJkiRJ3YCHWUuSJEmSJAmwKJIkSZIkSVIHiyJJkiRJkiQBFkWSJEmS\nJEnqYFEkSZIkSZIkwKJIkiRJkiRJHSyKJEmSJEmSBFgUSZIkSZIkqcP/A7gMZxby1rCNAAAAAElF\nTkSuQmCC\n","text/plain":["<matplotlib.figure.Figure at 0x7f8fc97e7b38>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"o9doQflKPcQ_","colab_type":"text"},"cell_type":"markdown","source":["## max_depth"]},{"metadata":{"id":"KAnyy1f0GEjS","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":275},"outputId":"b3762f36-1664-4e07-b581-a2ba875b3fc9","executionInfo":{"status":"ok","timestamp":1546242073108,"user_tz":-480,"elapsed":13766,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#调整max_depth\n","param_grid = {'max_depth':np.arange(1, 20, 1)}\n","# 一般根据数据的大小来进行一个试探，乳腺癌数据很小，所以可以采用1~10，或者1~20这样的试探\n","# 但对于像digit recognition那样的大型数据来说，我们应该尝试30~50层深度（或许还不足够\n","# 更应该画出学习曲线，来观察深度对模型的影响\n","rfc = RandomForestClassifier(n_estimators=39\n","                            ,random_state=90\n","                            )\n","GS = GridSearchCV(rfc,param_grid,cv=10)\n","GS.fit(data.data,data.target)"],"execution_count":103,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n","  DeprecationWarning)\n"],"name":"stderr"},{"output_type":"execute_result","data":{"text/plain":["GridSearchCV(cv=10, error_score='raise-deprecating',\n","       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n","            max_depth=None, max_features='auto', max_leaf_nodes=None,\n","            min_impurity_decrease=0.0, min_impurity_split=None,\n","            min_samples_leaf=1, min_samples_split=2,\n","            min_weight_fraction_leaf=0.0, n_estimators=39, n_jobs=None,\n","            oob_score=False, random_state=90, verbose=0, warm_start=False),\n","       fit_params=None, iid='warn', n_jobs=None,\n","       param_grid={'max_depth': array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,\n","       18, 19])},\n","       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n","       scoring=None, verbose=0)"]},"metadata":{"tags":[]},"execution_count":103}]},{"metadata":{"id":"oxShFPfTNU0f","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"d5202f3d-160b-4ec1-9afb-6d16e8852d7e","executionInfo":{"status":"ok","timestamp":1546242089054,"user_tz":-480,"elapsed":726,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_params_"],"execution_count":104,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'max_depth': 11}"]},"metadata":{"tags":[]},"execution_count":104}]},{"metadata":{"id":"heNqmIviNVo3","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"72ae57d6-6c6b-402f-c7b9-c4213f55f759","executionInfo":{"status":"ok","timestamp":1546242109669,"user_tz":-480,"elapsed":698,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_score_"],"execution_count":105,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9718804920913884"]},"metadata":{"tags":[]},"execution_count":105}]},{"metadata":{"id":"zPQMpl5TPfcK","colab_type":"text"},"cell_type":"markdown","source":["## max_features"]},{"metadata":{"id":"4Zrh2wv1GLgy","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":275},"outputId":"2a1477f3-b1ba-4af2-9b70-c41a7b1153fc","executionInfo":{"status":"ok","timestamp":1546242190435,"user_tz":-480,"elapsed":34676,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["# 调整max_features\n","param_grid = {'max_features':np.arange(5,30,1)}\n","# \"\"\"\n","# max_features是唯一一个即能够将模型往左（低方差高偏差）推，也能够将模型往右（高方差低偏差）推的参数。我\n","# 们需要根据调参前，模型所在的位置（在泛化误差最低点的左边还是右边）来决定我们要将max_features往哪边调。\n","# 现在模型位于图像左侧，我们需要的是更高的复杂度，因此我们应该把max_features往更大的方向调整，可用的特征\n","# 越多，模型才会越复杂。max_features的默认最小值是sqrt(n_features)，因此我们使用这个值作为调参范围的\n","# 最小值。\n","# \"\"\"\n","rfc = RandomForestClassifier(n_estimators=39\n","                            ,random_state=90\n","                            )\n","GS = GridSearchCV(rfc,param_grid,cv=10)\n","GS.fit(data.data,data.target)"],"execution_count":106,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n","  DeprecationWarning)\n"],"name":"stderr"},{"output_type":"execute_result","data":{"text/plain":["GridSearchCV(cv=10, error_score='raise-deprecating',\n","       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n","            max_depth=None, max_features='auto', max_leaf_nodes=None,\n","            min_impurity_decrease=0.0, min_impurity_split=None,\n","            min_samples_leaf=1, min_samples_split=2,\n","            min_weight_fraction_leaf=0.0, n_estimators=39, n_jobs=None,\n","            oob_score=False, random_state=90, verbose=0, warm_start=False),\n","       fit_params=None, iid='warn', n_jobs=None,\n","       param_grid={'max_features': array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,\n","       22, 23, 24, 25, 26, 27, 28, 29])},\n","       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n","       scoring=None, verbose=0)"]},"metadata":{"tags":[]},"execution_count":106}]},{"metadata":{"id":"98oFZShkNn91","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"21925db5-2b16-4572-b251-7fdb82446c2d","executionInfo":{"status":"ok","timestamp":1546242253571,"user_tz":-480,"elapsed":716,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_params_"],"execution_count":107,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'max_features': 5}"]},"metadata":{"tags":[]},"execution_count":107}]},{"metadata":{"id":"KuN4HyXmNpP2","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"8e6fa66a-3e35-418a-aa66-dcf3ccfcc146","executionInfo":{"status":"ok","timestamp":1546242256239,"user_tz":-480,"elapsed":715,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_score_"],"execution_count":108,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9718804920913884"]},"metadata":{"tags":[]},"execution_count":108}]},{"metadata":{"id":"ndVETOihPi1o","colab_type":"text"},"cell_type":"markdown","source":["## min_samples_leaf"]},{"metadata":{"id":"25T7loSGGVa2","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":258},"outputId":"0d00f0d7-bf23-4e3e-b45b-498e5cdf5305","executionInfo":{"status":"ok","timestamp":1546242279109,"user_tz":-480,"elapsed":7449,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#调整min_samples_leaf\n","param_grid={'min_samples_leaf':np.arange(1, 1+10, 1)}\n","\n","#对于min_samples_split和min_samples_leaf,一般是从他们的最小值开始向上增加10或20\n","#面对高维度高样本量数据，如果不放心，也可以直接+50，对于大型数据，可能需要200~300的范围\n","#如果调整的时候发现准确率无论如何都上不来，那可以放心大胆调一个很大的数据，大力限制模型的复杂度\n","\n","rfc = RandomForestClassifier(n_estimators=39\n","                            ,random_state=90\n","                            )\n","GS = GridSearchCV(rfc,param_grid,cv=10)\n","GS.fit(data.data,data.target)"],"execution_count":109,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n","  DeprecationWarning)\n"],"name":"stderr"},{"output_type":"execute_result","data":{"text/plain":["GridSearchCV(cv=10, error_score='raise-deprecating',\n","       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n","            max_depth=None, max_features='auto', max_leaf_nodes=None,\n","            min_impurity_decrease=0.0, min_impurity_split=None,\n","            min_samples_leaf=1, min_samples_split=2,\n","            min_weight_fraction_leaf=0.0, n_estimators=39, n_jobs=None,\n","            oob_score=False, random_state=90, verbose=0, warm_start=False),\n","       fit_params=None, iid='warn', n_jobs=None,\n","       param_grid={'min_samples_leaf': array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])},\n","       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n","       scoring=None, verbose=0)"]},"metadata":{"tags":[]},"execution_count":109}]},{"metadata":{"id":"51rX4dszOJqL","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"8da58b09-a082-42e1-8441-967ac0747baa","executionInfo":{"status":"ok","timestamp":1546242282369,"user_tz":-480,"elapsed":720,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_params_"],"execution_count":110,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'min_samples_leaf': 1}"]},"metadata":{"tags":[]},"execution_count":110}]},{"metadata":{"id":"nOsO1OQzOLSD","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"54cea033-829c-446b-975e-f58a85f95302","executionInfo":{"status":"ok","timestamp":1546242286444,"user_tz":-480,"elapsed":731,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_score_"],"execution_count":111,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9718804920913884"]},"metadata":{"tags":[]},"execution_count":111}]},{"metadata":{"id":"AqIn77EGPsuQ","colab_type":"text"},"cell_type":"markdown","source":["## min_samples_split"]},{"metadata":{"id":"nzUTw48cGY9w","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":275},"outputId":"f526bb66-38e0-4bc3-b3ca-bef340dd9136","executionInfo":{"status":"ok","timestamp":1546242326603,"user_tz":-480,"elapsed":14664,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#调整min_samples_split\n","param_grid={'min_samples_split':np.arange(2, 2+20, 1)}\n","rfc = RandomForestClassifier(n_estimators=39\n","                            ,random_state=90\n","                            )\n","GS = GridSearchCV(rfc,param_grid,cv=10)\n","GS.fit(data.data,data.target)"],"execution_count":112,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n","  DeprecationWarning)\n"],"name":"stderr"},{"output_type":"execute_result","data":{"text/plain":["GridSearchCV(cv=10, error_score='raise-deprecating',\n","       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n","            max_depth=None, max_features='auto', max_leaf_nodes=None,\n","            min_impurity_decrease=0.0, min_impurity_split=None,\n","            min_samples_leaf=1, min_samples_split=2,\n","            min_weight_fraction_leaf=0.0, n_estimators=39, n_jobs=None,\n","            oob_score=False, random_state=90, verbose=0, warm_start=False),\n","       fit_params=None, iid='warn', n_jobs=None,\n","       param_grid={'min_samples_split': array([ 2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18,\n","       19, 20, 21])},\n","       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n","       scoring=None, verbose=0)"]},"metadata":{"tags":[]},"execution_count":112}]},{"metadata":{"id":"y5i805CEOQaV","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"15a856ac-36de-43c7-d946-890b79cb029c","executionInfo":{"status":"ok","timestamp":1546242330432,"user_tz":-480,"elapsed":698,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_params_"],"execution_count":113,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'min_samples_split': 2}"]},"metadata":{"tags":[]},"execution_count":113}]},{"metadata":{"id":"kHDgJb7xOVOm","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"370645fc-085f-4c1c-9187-83d1d8fd8214","executionInfo":{"status":"ok","timestamp":1546242333041,"user_tz":-480,"elapsed":738,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_score_"],"execution_count":114,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9718804920913884"]},"metadata":{"tags":[]},"execution_count":114}]},{"metadata":{"id":"tFzBSy5jPvn6","colab_type":"text"},"cell_type":"markdown","source":["## Criterion"]},{"metadata":{"id":"fZjUu8bEGdoq","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":204},"outputId":"cca5bf8c-0db8-4f18-8eb3-f5aa0fd2d614","executionInfo":{"status":"ok","timestamp":1546242344900,"user_tz":-480,"elapsed":2387,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["#调整Criterion\n","param_grid = {'criterion':['gini', 'entropy']}\n","rfc = RandomForestClassifier(n_estimators=39\n",",random_state=90\n",")\n","GS = GridSearchCV(rfc,param_grid,cv=10)\n","GS.fit(data.data,data.target)"],"execution_count":115,"outputs":[{"output_type":"execute_result","data":{"text/plain":["GridSearchCV(cv=10, error_score='raise-deprecating',\n","       estimator=RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n","            max_depth=None, max_features='auto', max_leaf_nodes=None,\n","            min_impurity_decrease=0.0, min_impurity_split=None,\n","            min_samples_leaf=1, min_samples_split=2,\n","            min_weight_fraction_leaf=0.0, n_estimators=39, n_jobs=None,\n","            oob_score=False, random_state=90, verbose=0, warm_start=False),\n","       fit_params=None, iid='warn', n_jobs=None,\n","       param_grid={'criterion': ['gini', 'entropy']},\n","       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n","       scoring=None, verbose=0)"]},"metadata":{"tags":[]},"execution_count":115}]},{"metadata":{"id":"ORuimtPCOa1_","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"757a2f73-325a-42a2-8cda-5537f5dff0b2","executionInfo":{"status":"ok","timestamp":1546242349267,"user_tz":-480,"elapsed":725,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_params_"],"execution_count":116,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'criterion': 'gini'}"]},"metadata":{"tags":[]},"execution_count":116}]},{"metadata":{"id":"XAqQp3kpOckq","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"01daba75-70bf-4982-f9e8-a0cb20d7faf2","executionInfo":{"status":"ok","timestamp":1546242352054,"user_tz":-480,"elapsed":725,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["GS.best_score_"],"execution_count":117,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9718804920913884"]},"metadata":{"tags":[]},"execution_count":117}]},{"metadata":{"id":"PE2Wt3zLGfSY","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"a0b0dfad-caa6-4fae-f591-90e16326f37a","executionInfo":{"status":"ok","timestamp":1546242370663,"user_tz":-480,"elapsed":1390,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc = RandomForestClassifier(n_estimators=39,random_state=90)\n","score = cross_val_score(rfc,data.data,data.target,cv=10).mean()\n","score"],"execution_count":118,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9719568317345088"]},"metadata":{"tags":[]},"execution_count":118}]},{"metadata":{"id":"lZiDqRgjOhN6","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"1ab331aa-6e2d-4723-864a-b011ceb9386b","executionInfo":{"status":"ok","timestamp":1546242372794,"user_tz":-480,"elapsed":689,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["score - score_pre"],"execution_count":119,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.005264238181661218"]},"metadata":{"tags":[]},"execution_count":119}]},{"metadata":{"id":"1uNU4Jm_GoLc","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"183ae023-18b2-4f86-f7b6-83f58252d560","executionInfo":{"status":"ok","timestamp":1546242396771,"user_tz":-480,"elapsed":1596,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["rfc2 = RandomForestClassifier(n_estimators=68\n","                            ,random_state=90\n","                            ,criterion=\"gini\"\n","                            ,min_samples_split=8\n","                            ,min_samples_leaf=1\n","                            ,max_depth=12\n","                            ,max_features=2\n","                            ,max_leaf_nodes=36\n","                            )\n","score2 = cross_val_score(rfc2,data.data,data.target,cv=10).mean()\n","score2"],"execution_count":120,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.964905798980209"]},"metadata":{"tags":[]},"execution_count":120}]},{"metadata":{"id":"gH7ZU9pmOotG","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]}]}